Class: Despecable::Me
- Inherits:
-
Object
- Object
- Despecable::Me
- Defined in:
- lib/despecable/me.rb
Instance Attribute Summary collapse
-
#params ⇒ Object
readonly
Returns the value of attribute params.
Instance Method Summary collapse
- #doit(*args, &blk) ⇒ Object
-
#initialize(params) ⇒ Me
constructor
A new instance of Me.
- #strict(user_params) ⇒ Object
Constructor Details
#initialize(params) ⇒ Me
Returns a new instance of Me.
5 6 7 8 |
# File 'lib/despecable/me.rb', line 5 def initialize(params) @params = params @specd = [] end |
Instance Attribute Details
#params ⇒ Object (readonly)
Returns the value of attribute params.
3 4 5 |
# File 'lib/despecable/me.rb', line 3 def params @params end |
Instance Method Details
#doit(*args, &blk) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/despecable/me.rb', line 10 def doit(*args, &blk) spectator = Despecable::Spectator.new(@params) spectator.instance_exec(*args, &blk) unless blk.nil? @specd += spectator.specd return spectator.params end |
#strict(user_params) ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/despecable/me.rb', line 17 def strict(user_params) unspecd = user_params.map(&:to_s).uniq - @specd.map(&:to_s) if !unspecd.empty? list = unspecd.map{|x| "'#{x}'"}.join(", ") raise Despecable::UnrecognizedParameterError.new( "Unrecognized parameters supplied: #{list}", parameters: unspecd ) end end |