Re: [Rails] help me debug this model

2018-03-27 Thread Mugurel Chirica
What have you tried so far in debugging this?

Have you used any debugger like pry to see what happens when you rune the
code?

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/CAL37D8Fj5oHW2Q2uhdVuSkaC69eCoZywfvR3K4-KpABhTof65w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Rails] Re: help me debug this model

2018-03-27 Thread fugee ohu


On Monday, March 26, 2018 at 8:17:56 PM UTC-4, fugee ohu wrote:
>
> This model has some errors that I wasn't able to get sorted out the two 
> lines that begin with validate should be validates but after that I don't 
> understand what the author's trying to do If I change them to validates I 
> get the error Unknown validator: 'MessageValidator' for   validate 
> :auction_active?, message: :auction_active
>
>
> class Bid < ActiveRecord::Base
>   belongs_to :auction
>   belongs_to :user
>
>   validates :auction, :user, presence: true
>   validate :auction_active?, message: :auction_active
>   validate :last_user_different?
>
>   scope :sorted, -> { order(:created_at) }
>
>   after_create :update_auction
>
>   private
>
>   def auction_active?
> if auction && !auction.active?
>   if auction.finished?
> errors.add(:auction, :finished)
>   else
> errors.add(:auction, :not_started)
>   end
> end
>   end
>
>   def last_user_different?
> if auction && user
>   errors.add(:user, :same_user_twice) if auction.last_user == user
> end
>   end
>
>   def update_auction
> auction.increase_price_and_time
> auction.publish_updates
>   end
> end
>
>
Like I said I don't understand what the author's trying to do No i'm not 
using any debug tools

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/150abfed-8f4d-4df6-8a47-ea7dec132a98%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Rails] Re: help me debug this model

2018-03-27 Thread Allen Maxwell
It might help to have the models for auction and user... also, I like to 
add the annotate gem which gives some header comments in all my models to 
show what fields etc are there.  Very helpful info and references.

you already know that the validate needs to be validates...

is this an active system or SUD?  do you have a solid development database 
that is well populated to test/develop against?

this link may help 
some:  
http://guides.rubyonrails.org/active_record_validations.html#custom-methods

other than that I'd have to see it in action to debug further. 

Good luck

Max

On Monday, March 26, 2018 at 6:17:56 PM UTC-6, fugee ohu wrote:
>
> This model has some errors that I wasn't able to get sorted out the two 
> lines that begin with validate should be validates but after that I don't 
> understand what the author's trying to do If I change them to validates I 
> get the error Unknown validator: 'MessageValidator' for   validate 
> :auction_active?, message: :auction_active
>
>
> class Bid < ActiveRecord::Base
>   belongs_to :auction
>   belongs_to :user
>
>   validates :auction, :user, presence: true
>   validate :auction_active?, message: :auction_active
>   validate :last_user_different?
>
>   scope :sorted, -> { order(:created_at) }
>
>   after_create :update_auction
>
>   private
>
>   def auction_active?
> if auction && !auction.active?
>   if auction.finished?
> errors.add(:auction, :finished)
>   else
> errors.add(:auction, :not_started)
>   end
> end
>   end
>
>   def last_user_different?
> if auction && user
>   errors.add(:user, :same_user_twice) if auction.last_user == user
> end
>   end
>
>   def update_auction
> auction.increase_price_and_time
> auction.publish_updates
>   end
> end
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/88b2801f-f7d7-4c32-b81f-7180632db1d4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Rails] Re: help me debug this model

2018-03-27 Thread fugee ohu
Ok, and I don't understand what this means:
validates :auction_active?, message: :auction_active

class Auction < ActiveRecord::Base
  include ApplicationHelper

  belongs_to :product
  belongs_to :image
  has_many :bids

  validates :product, :image, :min_price, :start_price, :start_time, 
:duration, :bid_time_step, :bid_price_step, presence: true
  validates :duration, :bid_time_step, numericality: { only_integer: true }
  validates :min_price, :start_price, :bid_price_step, numericality: { 
greater_than_or_equal_to: 0.01 }
  validates :min_price, :start_price, :bid_price_step, fractionality: { 
multiplier: 0.01 }

  after_initialize do
self.start_time = Time.now.round_by(15.minutes) if self.new_record? && 
self.start_time.nil?
  end

  before_create { |auction| auction.price = auction.start_price }

  def self.finished_soon
# TODO: use PostgreSQL
Auction.all.select { |a| (a.time_left <= 5.seconds) && (a.time_left > 
1.second) }
  end

  def started?
start_time < Time.now
  end

  def finished?
time_left < 0
  end

  def active?
started? && !finished?
  end

  def time_left
finish_time - Time.now
  end

  def start_in
start_time - Time.now
  end

  def finish_time
start_time + duration.seconds
  end

  def last_user
bids.sorted.last.user if bids.any?
  end

  def increase_price_and_time
self.price += self.bid_price_step
self.duration += self.bid_time_step
self.save!
  end

  def publish_updates
PrivatePub.publish_to '/auctions/update', auction_id: self.id, 
time_left: status_desc(self), price: self.price
  end
end


On Tuesday, March 27, 2018 at 6:54:34 AM UTC-4, Allen Maxwell wrote:
>
> It might help to have the models for auction and user... also, I like to 
> add the annotate gem which gives some header comments in all my models to 
> show what fields etc are there.  Very helpful info and references.
>
> you already know that the validate needs to be validates...
>
> is this an active system or SUD?  do you have a solid development database 
> that is well populated to test/develop against?
>
> this link may help some:  
> http://guides.rubyonrails.org/active_record_validations.html#custom-methods
>
> other than that I'd have to see it in action to debug further. 
>
> Good luck
>
> Max
>
> On Monday, March 26, 2018 at 6:17:56 PM UTC-6, fugee ohu wrote:
>>
>> This model has some errors that I wasn't able to get sorted out the two 
>> lines that begin with validate should be validates but after that I don't 
>> understand what the author's trying to do If I change them to validates 
>> I get the error Unknown validator: 'MessageValidator' for   validate 
>> :auction_active?, message: :auction_active
>>
>>
>> class Bid < ActiveRecord::Base
>>   belongs_to :auction
>>   belongs_to :user
>>
>>   validates :auction, :user, presence: true
>>   validate :auction_active?, message: :auction_active
>>   validate :last_user_different?
>>
>>   scope :sorted, -> { order(:created_at) }
>>
>>   after_create :update_auction
>>
>>   private
>>
>>   def auction_active?
>> if auction && !auction.active?
>>   if auction.finished?
>> errors.add(:auction, :finished)
>>   else
>> errors.add(:auction, :not_started)
>>   end
>> end
>>   end
>>
>>   def last_user_different?
>> if auction && user
>>   errors.add(:user, :same_user_twice) if auction.last_user == user
>> end
>>   end
>>
>>   def update_auction
>> auction.increase_price_and_time
>> auction.publish_updates
>>   end
>> end
>>
>>

class User < ActiveRecord::Base
  has_many :authorizations
  has_many :bids
  has_one :avatar
  belongs_to :role
  has_many :permissions, through: :role

  validates :nickname, presence: true
  validates :nickname, uniqueness: { case_sensitive: false }

  accepts_nested_attributes_for :avatar

  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
 :recoverable, :rememberable, :trackable, :validatable,
 :omniauthable, omniauth_providers: [:facebook, :vkontakte]

  before_create { |user| user.role = Role.default_role unless user.role }

  scope :bots, -> { where(role: Role.bot) }

  def self.random_bot
bots.order('RANDOM()').first
  end

  def admin?
role == Role.admin
  end

  def bot?
role == Role.bot
  end

  def self.find_for_oauth(auth)
authorization = Authorization.where(provider: auth.provider, uid: 
auth.uid.to_s).first
if authorization
  user = authorization.user
else
  email = auth.info[:email]
  nickname = auth.info[:nickname]
  user = User.where(email: email).first
  if user
user.create_authorization(auth)
  elsif email.present? && nickname.present?
password = Devise.friendly_token[0, 20]
user = User.create(email: email, password: password, 
password_confirmation: password, nickname: nickname)

[Rails] Re: help me debug this model

2018-03-27 Thread fugee ohu
Actually the first thing is see when I visit that link is the use of 
validate without the s

On Tuesday, March 27, 2018 at 6:54:34 AM UTC-4, Allen Maxwell wrote:
>
> It might help to have the models for auction and user... also, I like to 
> add the annotate gem which gives some header comments in all my models to 
> show what fields etc are there.  Very helpful info and references.
>
> you already know that the validate needs to be validates...
>
> is this an active system or SUD?  do you have a solid development database 
> that is well populated to test/develop against?
>
> this link may help some:  
> http://guides.rubyonrails.org/active_record_validations.html#custom-methods
>
> other than that I'd have to see it in action to debug further. 
>
> Good luck
>
> Max
>
> On Monday, March 26, 2018 at 6:17:56 PM UTC-6, fugee ohu wrote:
>>
>> This model has some errors that I wasn't able to get sorted out the two 
>> lines that begin with validate should be validates but after that I don't 
>> understand what the author's trying to do If I change them to validates 
>> I get the error Unknown validator: 'MessageValidator' for   validate 
>> :auction_active?, message: :auction_active
>>
>>
>> class Bid < ActiveRecord::Base
>>   belongs_to :auction
>>   belongs_to :user
>>
>>   validates :auction, :user, presence: true
>>   validate :auction_active?, message: :auction_active
>>   validate :last_user_different?
>>
>>   scope :sorted, -> { order(:created_at) }
>>
>>   after_create :update_auction
>>
>>   private
>>
>>   def auction_active?
>> if auction && !auction.active?
>>   if auction.finished?
>> errors.add(:auction, :finished)
>>   else
>> errors.add(:auction, :not_started)
>>   end
>> end
>>   end
>>
>>   def last_user_different?
>> if auction && user
>>   errors.add(:user, :same_user_twice) if auction.last_user == user
>> end
>>   end
>>
>>   def update_auction
>> auction.increase_price_and_time
>> auction.publish_updates
>>   end
>> end
>>
>>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/b8ab4f9b-1682-4006-8d91-8f2c556f34e6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Rails] automated end of auction strategy

2018-03-27 Thread fugee ohu
If I have auctions with end datetimes and bids for the auctions how do i 
have rails manage the end of the auctions

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/3d1fc89b-9ca8-428d-b837-5461a921c732%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Rails] Re: SEEKING RoR developers

2018-03-27 Thread Ansari
Hello,
  I an interested,
  CV: http://shahid-ansari.herokuapp.com/

On Monday, March 5, 2018 at 8:51:32 PM UTC+5:30, Sergio Lapenna wrote:
>
> Hi guys,
>
> we are looking for remote RoR developers to help us in the development of 
> the server side of our IoT technology.
>
> Best regards,
> Sergio L.
> Founder & CEO at RT
> www.rtsrl.eu
>
> *Linkedin*: http://bit.ly/2oJqh99
> *Location*: Italy
> *Languages*: Italian, English
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/a301c23a-3156-4924-8fa4-a7909a9c3108%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Rails] help me debug this model

2018-03-27 Thread fugee ohu


On Tuesday, March 27, 2018 at 2:12:27 PM UTC-4, Walter Lee Davis wrote:
>
> Read the docs I linked you to, and if that doesn't explain it, then ask 
> the author of the code you're extending. It's possible that it is passing a 
> reference to a proc or lambda, but I have not seen that exact code before, 
> so I can only guess. 
>
> Walter 
>
> > On Mar 27, 2018, at 2:04 PM, fugee ohu  
> wrote: 
> > 
> > Thanks Walter And passing a symbol to message: how does that work? 
> > 
> > 
>
> I changed it to 
validate :auction_active?, message: self.errors
and now page loads without any errors

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/174e8b7e-afc4-48fd-8288-511a2556f49a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Rails] Anonymous survey - your help is greatly appreciated

2018-03-27 Thread Mugurel Chirica
Hello everyone, I'd like to have a better idea (that's up to date and real,
not possibly fake data) of how much Web Developers / Programmers in
different parts of the world are paid.

If anyone has 20 - 60 seconds to spare and fill the anonymous survey, it
will be very helpful.

You will find the survey here:
https://goo.gl/forms/gzNw7PWc3h9hWnTL2

After I get enough answers I'll also share the results in here, so others
could benefit form it as well.

Thank you very much.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/CAL37D8FB9woGmLKKDuoRG%3D6_jTmMwf-nfQ8SPy1Yv8R2knaSPA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Rails] help me debug this model

2018-03-27 Thread Walter Lee Davis

> On Mar 27, 2018, at 9:20 AM, fugee ohu  wrote:
> 
> Actually the first thing is see when I visit that link is the use of validate 
> without the s

The validate method is used along with a custom validator method. The validates 
method is "built in" and uses a DSL to specify how you want the validations to 
work.

validate :has_a_bow_on_top?

private

def has_a_bow_on_top?
  unless bow&.on_top?
errors[:bow].add "must be on top"
false
  end
end

The built-in validates method is configured like this:

validates :bow, presence: true

This is a very basic example, there are lots more things you can do with it. 
For all of our sakes, please read this entire page: 
http://guides.rubyonrails.org/active_record_validations.html

Walter

> 
> On Tuesday, March 27, 2018 at 6:54:34 AM UTC-4, Allen Maxwell wrote:
> It might help to have the models for auction and user... also, I like to add 
> the annotate gem which gives some header comments in all my models to show 
> what fields etc are there.  Very helpful info and references.
> 
> you already know that the validate needs to be validates...
> 
> is this an active system or SUD?  do you have a solid development database 
> that is well populated to test/develop against?
> 
> this link may help some:  
> http://guides.rubyonrails.org/active_record_validations.html#custom-methods
> 
> other than that I'd have to see it in action to debug further. 
> 
> Good luck
> 
> Max
> 
> On Monday, March 26, 2018 at 6:17:56 PM UTC-6, fugee ohu wrote:
> This model has some errors that I wasn't able to get sorted out the two lines 
> that begin with validate should be validates but after that I don't 
> understand what the author's trying to do If I change them to validates I get 
> the error Unknown validator: 'MessageValidator' for   validate 
> :auction_active?, message: :auction_active
> 
> 
> class Bid < ActiveRecord::Base
>   belongs_to :auction
>   belongs_to :user
> 
>   validates :auction, :user, presence: true
>   validate :auction_active?, message: :auction_active
>   validate :last_user_different?
> 
>   scope :sorted, -> { order(:created_at) }
> 
>   after_create :update_auction
> 
>   private
> 
>   def auction_active?
> if auction && !auction.active?
>   if auction.finished?
> errors.add(:auction, :finished)
>   else
> errors.add(:auction, :not_started)
>   end
> end
>   end
> 
>   def last_user_different?
> if auction && user
>   errors.add(:user, :same_user_twice) if auction.last_user == user
> end
>   end
> 
>   def update_auction
> auction.increase_price_and_time
> auction.publish_updates
>   end
> end
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to rubyonrails-talk+unsubscr...@googlegroups.com.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/rubyonrails-talk/b8ab4f9b-1682-4006-8d91-8f2c556f34e6%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/9B8A922E-409D-4DBF-951D-8F01AD01A245%40wdstudio.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Rails] Rails conventions

2018-03-27 Thread Hassan Schroeder
On Tue, Mar 27, 2018 at 6:52 AM, Brian Postow  wrote:

> I'm an experienced programmer, who's starting to use Ruby on Rails for the
> first time. I need some documentation that JUST explains how variable names
> are manipulated. Things I need to understand:

The questions you're asking make me think you're conflating "Rails"
and "Ruby". You might want to start at  https://www.ruby-lang.org/
with the "Ruby in 20 Minutes" and "Ruby From Other Languages"
sections first.

Aside from that, have you looked at the Rails guides? They might
clarify some of your Rails-specific questions.

http://guides.rubyonrails.org/

HTH!
-- 
Hassan Schroeder  hassan.schroe...@gmail.com
twitter: @hassan
Consulting Availability : Silicon Valley or remote

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/CACmC4yBxd4XW1FbFP4Ts5GtyBjBRp_ifs5sHTN_SshsF1xp3qg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Rails] Rails conventions

2018-03-27 Thread Brian Postow


Hello!

I'm an experienced programmer, who's starting to use Ruby on Rails for the 
first time. I need some documentation that JUST explains how variable names 
are manipulated. Things I need to understand:

   - When Rails will automatically convert between CamelCase and 
   snake_case  (like How does migrate know to break up Add_Foo_Bar_Baz_To_Buq 
   as adding a FooBarBaz column to the Buq table, and what will it to with 
   Add_Foo_To_Baz_To_Buq or Add_FooBarBaz_To_Buq?)
   - When Rails will automatically convert between singular and plural
   - What the correct (conventional) form is for variables/class names/DB 
   tables columns/method names of various types
   - Given a name of a given form, what kind of thing does RoR think it is 
   and where is RoR looking for it?
   - Stuff like that...
   
I don't need a book that explains how to write a program from scratch (I 
have a large one that I'm already working with). I don't need something 
that explains how Ruby works, I can learn the language on my own. I need a 
reference where I can look things up easily.

Also, if there is a better resource to ask this question, that would be 
great as well. There doesn't appear to be a Stack Exchange site for asking 
resource recommendation questions...


Thanks!

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/79d6984f-6138-44c7-8f0a-89585bb010d8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Rails] help me debug this model

2018-03-27 Thread Walter Lee Davis
Read the docs I linked you to, and if that doesn't explain it, then ask the 
author of the code you're extending. It's possible that it is passing a 
reference to a proc or lambda, but I have not seen that exact code before, so I 
can only guess.

Walter

> On Mar 27, 2018, at 2:04 PM, fugee ohu  wrote:
> 
> Thanks Walter And passing a symbol to message: how does that work? 
> 
> 

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/59801D36-D4F0-4032-920A-D16052AC3671%40wdstudio.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Rails] help me debug this model

2018-03-27 Thread fugee ohu


On Tuesday, March 27, 2018 at 11:44:54 AM UTC-4, Walter Lee Davis wrote:
>
>
> > On Mar 27, 2018, at 9:20 AM, fugee ohu  
> wrote: 
> > 
> > Actually the first thing is see when I visit that link is the use of 
> validate without the s 
>
> The validate method is used along with a custom validator method. The 
> validates method is "built in" and uses a DSL to specify how you want the 
> validations to work. 
>
> validate :has_a_bow_on_top? 
>
> private 
>
> def has_a_bow_on_top? 
>   unless bow&.on_top? 
> errors[:bow].add "must be on top" 
> false 
>   end 
> end 
>
> The built-in validates method is configured like this: 
>
> validates :bow, presence: true 
>
> This is a very basic example, there are lots more things you can do with 
> it. For all of our sakes, please read this entire page: 
> http://guides.rubyonrails.org/active_record_validations.html 
>
> Walter 
>
> > 
> > On Tuesday, March 27, 2018 at 6:54:34 AM UTC-4, Allen Maxwell wrote: 
> > It might help to have the models for auction and user... also, I like to 
> add the annotate gem which gives some header comments in all my models to 
> show what fields etc are there.  Very helpful info and references. 
> > 
> > you already know that the validate needs to be validates... 
> > 
> > is this an active system or SUD?  do you have a solid development 
> database that is well populated to test/develop against? 
> > 
> > this link may help some:  
> http://guides.rubyonrails.org/active_record_validations.html#custom-methods 
> > 
> > other than that I'd have to see it in action to debug further. 
> > 
> > Good luck 
> > 
> > Max 
> > 
> > On Monday, March 26, 2018 at 6:17:56 PM UTC-6, fugee ohu wrote: 
> > This model has some errors that I wasn't able to get sorted out the two 
> lines that begin with validate should be validates but after that I don't 
> understand what the author's trying to do If I change them to validates I 
> get the error Unknown validator: 'MessageValidator' for   validate 
> :auction_active?, message: :auction_active 
> > 
> > 
> > class Bid < ActiveRecord::Base 
> >   belongs_to :auction 
> >   belongs_to :user 
> > 
> >   validates :auction, :user, presence: true 
> >   validate :auction_active?, message: :auction_active 
> >   validate :last_user_different? 
> > 
> >   scope :sorted, -> { order(:created_at) } 
> > 
> >   after_create :update_auction 
> > 
> >   private 
> > 
> >   def auction_active? 
> > if auction && !auction.active? 
> >   if auction.finished? 
> > errors.add(:auction, :finished) 
> >   else 
> > errors.add(:auction, :not_started) 
> >   end 
> > end 
> >   end 
> > 
> >   def last_user_different? 
> > if auction && user 
> >   errors.add(:user, :same_user_twice) if auction.last_user == user 
> > end 
> >   end 
> > 
> >   def update_auction 
> > auction.increase_price_and_time 
> > auction.publish_updates 
> >   end 
> > end 
> > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "Ruby on Rails: Talk" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to rubyonrails-ta...@googlegroups.com . 
> > To post to this group, send email to rubyonra...@googlegroups.com 
> . 
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/rubyonrails-talk/b8ab4f9b-1682-4006-8d91-8f2c556f34e6%40googlegroups.com.
>  
>
> > For more options, visit https://groups.google.com/d/optout. 
>
>
Thanks Walter And passing a symbol to message: how does that work? 

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/53605b52-f944-48fe-9a04-54a2b629d9a5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Rails] Rails conventions

2018-03-27 Thread Walter Lee Davis

> On Mar 27, 2018, at 3:39 PM, Brian Postow  wrote:
> 
> No, I'm pretty sure that everything I'm looking at is strictly rails. A 
> friend pointed me at: 
> https://gist.github.com/iangreenleaf/b206d09c587e8fc6399e which is a really 
> good start.
> 
> All of the conversions of CamelCase to snake_case, or plural to singular are 
> all strictly rails. AFAIK, the only thing Ruby cares about is capitalizing 
> classes, maybe.
> 
> The rails guides are not references. They're tutorials.
> 
> An example of the thing I'm having trouble with:
> 
> I'm having things like "it says it's missing foo_bar_bazes" but 
> "foo_bar_bazes" never occurs in my code, why does it think that it SHOULD?" 
> The answer in this particular case was that there was a FooBarBaz or  
> something, and that Rails decided that there obviously should be a 
> foo_bar_bazes sql table, which I never created. Rails was RIGHT, there needed 
> to be a sql table, but it took me like 4 hours to figure out what it was 
> complaining about, and where it thought "foo_bar_bazes" needed to live, and 
> why it should be foo_bar_bazes and not FooBarBaz, or FooBarBazes or 
> foo_bar_baz, or any other of a number of possible things... It took another 4 
> person hours to figure out how to get migrate to correctly do the things I 
> needed, because it converted Camel to snake in ways that I didn't expect.
> 
> 

In that case, I suspect that you really ought to follow a single tutorial all 
the way through, even if you do know how to program. I really recommend the 
(free to use online) https://railstutorial.org by Michael Hartl. We use this at 
Penn for all new programmers, regardless of their existing experience with 
programming or Ruby or Rails. The last time I did it, it took me about two days 
to go from end to end (I take it over each time there's a new version, so I can 
advise the people I'm on-boarding). I've been using Rails professionally for 
over ten years, and I still learn things from it.

Following that exercise all the way through will give you an excellent tour of 
the many ways that Rails extends the Ruby language to make your day-to-day 
experience easier and faster (once you know the tricks).

You really won't get very far in Rails (with all your hair in place) if you 
don't follow the conventions it expects you to. There are ways around 
everything (self.table_name = 'BadLegacyTableName', for example, or 
self.primary_key = 'somethingRailsWontGuess'), but you can come to those after 
you learn what it expects by default. Being able to back a table with a form 
using an empty class of the proper name doesn't come for free (you have to 
follow the conventions to get it). If you're used to doing everything from 
scratch, you may not expect that to work, or know where to look when it doesn't.

Walter

> On Tuesday, March 27, 2018 at 1:09:46 PM UTC-4, Hassan Schroeder wrote:
> On Tue, Mar 27, 2018 at 6:52 AM, Brian Postow  wrote: 
> 
> > I'm an experienced programmer, who's starting to use Ruby on Rails for the 
> > first time. I need some documentation that JUST explains how variable names 
> > are manipulated. Things I need to understand: 
> 
> The questions you're asking make me think you're conflating "Rails" 
> and "Ruby". You might want to start at  https://www.ruby-lang.org/ 
> with the "Ruby in 20 Minutes" and "Ruby From Other Languages" 
> sections first. 
> 
> Aside from that, have you looked at the Rails guides? They might 
> clarify some of your Rails-specific questions. 
> 
> http://guides.rubyonrails.org/ 
> 
> HTH! 
> -- 
> Hassan Schroeder  hassan.s...@gmail.com 
> twitter: @hassan 
> Consulting Availability : Silicon Valley or remote 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to rubyonrails-talk+unsubscr...@googlegroups.com.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/rubyonrails-talk/8df611da-76f3-4c75-b128-6bf2d6586c45%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/DE5AD2CF-FA0E-4511-B04A-89F63C6EFADB%40wdstudio.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Rails] Rails conventions

2018-03-27 Thread Brian Postow
No, I'm pretty sure that everything I'm looking at is strictly rails. A 
friend pointed me 
at: https://gist.github.com/iangreenleaf/b206d09c587e8fc6399e which is a 
really good start.

All of the conversions of CamelCase to snake_case, or plural to singular 
are all strictly rails. AFAIK, the only thing Ruby cares about is 
capitalizing classes, maybe.

The rails guides are not references. They're tutorials.

An example of the thing I'm having trouble with:

I'm having things like "it says it's missing foo_bar_bazes" but 
"foo_bar_bazes" never occurs in my code, why does it think that it SHOULD?" 
The answer in this particular case was that there was a FooBarBaz or  
something, and that Rails decided that there obviously should be a 
foo_bar_bazes sql table, which I never created. Rails was RIGHT, there 
needed to be a sql table, but it took me like 4 hours to figure out what it 
was complaining about, and where it thought "foo_bar_bazes" needed to live, 
and why it should be foo_bar_bazes and not FooBarBaz, or FooBarBazes or 
foo_bar_baz, or any other of a number of possible things... It took another 
4 person hours to figure out how to get migrate to correctly do the things 
I needed, because it converted Camel to snake in ways that I didn't expect.


On Tuesday, March 27, 2018 at 1:09:46 PM UTC-4, Hassan Schroeder wrote:
>
> On Tue, Mar 27, 2018 at 6:52 AM, Brian Postow  > wrote: 
>
> > I'm an experienced programmer, who's starting to use Ruby on Rails for 
> the 
> > first time. I need some documentation that JUST explains how variable 
> names 
> > are manipulated. Things I need to understand: 
>
> The questions you're asking make me think you're conflating "Rails" 
> and "Ruby". You might want to start at  https://www.ruby-lang.org/ 
> with the "Ruby in 20 Minutes" and "Ruby From Other Languages" 
> sections first. 
>
> Aside from that, have you looked at the Rails guides? They might 
> clarify some of your Rails-specific questions. 
>
> http://guides.rubyonrails.org/ 
> 
>  
>
> HTH! 
> -- 
> Hassan Schroeder  hassan.s...@gmail.com 
>  
> twitter: @hassan 
> Consulting Availability : Silicon Valley or remote 
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/8df611da-76f3-4c75-b128-6bf2d6586c45%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Rails] Rails conventions

2018-03-27 Thread nanaya


On Wed, Mar 28, 2018, at 04:39, Brian Postow wrote:
> The rails guides are not references. They're tutorials.
> 
> An example of the thing I'm having trouble with:
> 
> I'm having things like "it says it's missing foo_bar_bazes" but 
> "foo_bar_bazes" never occurs in my code, why does it think that it SHOULD?" 
> The answer in this particular case was that there was a FooBarBaz or  
> something, and that Rails decided that there obviously should be a 
> foo_bar_bazes sql table, which I never created. Rails was RIGHT, there 
> needed to be a sql table, but it took me like 4 hours to figure out what it 
> was complaining about, and where it thought "foo_bar_bazes" needed to live, 
> and why it should be foo_bar_bazes and not FooBarBaz, or FooBarBazes or 
> foo_bar_baz, or any other of a number of possible things... It took another 
> 4 person hours to figure out how to get migrate to correctly do the things 
> I needed, because it converted Camel to snake in ways that I didn't expect.
> 
> 

http://guides.rubyonrails.org/active_record_basics.html#naming-conventions

By default, Active Record uses some naming conventions to find out how the 
mapping between models and database tables should be created. Rails will 
pluralize your class names to find the respective database table. So, for a 
class Book, you should have a database table called books. The Rails 
pluralization mechanisms are very powerful, being capable of pluralizing (and 
singularizing) both regular and irregular words. When using class names 
composed of two or more words, the model class name should follow the Ruby 
conventions, using the CamelCase form, while the table name must contain the 
words separated by underscores. Examples:



http://guides.rubyonrails.org/active_record_migrations.html#creating-a-migration

Migrations are stored as files in the db/migrate directory, one for each 
migration class. The name of the file is of the form 
MMDDHHMMSS_create_products.rb, that is to say a UTC timestamp identifying 
the migration followed by an underscore followed by the name of the migration. 
The name of the migration class (CamelCased version) should match the latter 
part of the file name. For example 2008090612_create_products.rb should 
define class CreateProducts and 20080906120001_add_details_to_products.rb 
should define AddDetailsToProducts. Rails uses this timestamp to determine 
which migration should be run and in what order, so if you're copying a 
migration from another application or generate a file yourself, be aware of its 
position in the order.



http://guides.rubyonrails.org/association_basics.html#detailed-association-reference

When you declare a belongs_to association, the declaring class automatically 
gains five methods related to the association:

...

When you declare a has_one association, the declaring class automatically gains 
five methods related to the association:

...


Not sure where you got the idea it's not references.

Oh and here's the documentation for autoloading mechanism (re: "Given a name of 
a given form, what kind of thing does RoR think it is and where is RoR looking 
for it?"):

http://guides.rubyonrails.org/autoloading_and_reloading_constants.html

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/1522185467.2857204.1318226216.161518C4%40webmail.messagingengine.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Rails] Rails conventions

2018-03-27 Thread Brian Postow
by "not references" I meant it's way too verbose for what I need. The rails 
guides are meant (or appear to be meant) to be read cover to cover. I need 
something where I can looks a specific thing up.

It's the difference between http://ruby-doc.com/docs/ProgrammingRuby/ 
and http://ruby-doc.org/core-2.5.0/ 

Both are useful for learning Ruby, but if you want to just look something 
up, it's much easier to look things up in the core docs than in the book... 
But you're not going to read the core docs front to back.

I want the core docs. the rails guides are the book.  

On Tuesday, March 27, 2018 at 5:18:29 PM UTC-4, nanaya wrote:
>
>
>
> On Wed, Mar 28, 2018, at 04:39, Brian Postow wrote: 
> > The rails guides are not references. They're tutorials. 
> > 
> > An example of the thing I'm having trouble with: 
> > 
> > I'm having things like "it says it's missing foo_bar_bazes" but 
> > "foo_bar_bazes" never occurs in my code, why does it think that it 
> SHOULD?" 
> > The answer in this particular case was that there was a FooBarBaz or   
> > something, and that Rails decided that there obviously should be a 
> > foo_bar_bazes sql table, which I never created. Rails was RIGHT, there 
> > needed to be a sql table, but it took me like 4 hours to figure out what 
> it 
> > was complaining about, and where it thought "foo_bar_bazes" needed to 
> live, 
> > and why it should be foo_bar_bazes and not FooBarBaz, or FooBarBazes or 
> > foo_bar_baz, or any other of a number of possible things... It took 
> another 
> > 4 person hours to figure out how to get migrate to correctly do the 
> things 
> > I needed, because it converted Camel to snake in ways that I didn't 
> expect. 
> > 
> > 
>
> http://guides.rubyonrails.org/active_record_basics.html#naming-conventions 
>
> By default, Active Record uses some naming conventions to find out how the 
> mapping between models and database tables should be created. Rails will 
> pluralize your class names to find the respective database table. So, for a 
> class Book, you should have a database table called books. The Rails 
> pluralization mechanisms are very powerful, being capable of pluralizing 
> (and singularizing) both regular and irregular words. When using class 
> names composed of two or more words, the model class name should follow the 
> Ruby conventions, using the CamelCase form, while the table name must 
> contain the words separated by underscores. Examples: 
>
>
>
>
> http://guides.rubyonrails.org/active_record_migrations.html#creating-a-migration
>  
>
> Migrations are stored as files in the db/migrate directory, one for each 
> migration class. The name of the file is of the form 
> MMDDHHMMSS_create_products.rb, that is to say a UTC timestamp 
> identifying the migration followed by an underscore followed by the name of 
> the migration. The name of the migration class (CamelCased version) should 
> match the latter part of the file name. For example 
> 2008090612_create_products.rb should define class CreateProducts and 
> 20080906120001_add_details_to_products.rb should define 
> AddDetailsToProducts. Rails uses this timestamp to determine which 
> migration should be run and in what order, so if you're copying a migration 
> from another application or generate a file yourself, be aware of its 
> position in the order. 
>
>
>
>
> http://guides.rubyonrails.org/association_basics.html#detailed-association-reference
>  
>
> When you declare a belongs_to association, the declaring class 
> automatically gains five methods related to the association: 
>
> ... 
>
> When you declare a has_one association, the declaring class automatically 
> gains five methods related to the association: 
>
> ... 
>
>
> Not sure where you got the idea it's not references. 
>
> Oh and here's the documentation for autoloading mechanism (re: "Given a 
> name of a given form, what kind of thing does RoR think it is and where is 
> RoR looking for it?"): 
>
> http://guides.rubyonrails.org/autoloading_and_reloading_constants.html 
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/c09de860-f182-43d2-b980-5b42fdd4d0c8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.