class Card::Env::Success
Success
objects
Attributes
card[W]
id[R]
name[RW]
name_context[RW]
params[W]
redirect[W]
reload[RW]
Public Class Methods
new(name_context=nil, success_args=nil)
click to toggle source
# File lib/card/env/success.rb, line 12 def initialize name_context=nil, success_args=nil @name_context = name_context @new_args = {} @params = OpenStruct.new self << normalize_success_args(success_args) end
Public Instance Methods
<<(value)
click to toggle source
# File lib/card/env/success.rb, line 29 def << value if value.is_a? Hash apply value else self.mark = value end end
[](key)
click to toggle source
# File lib/card/env/success.rb, line 53 def [] key if respond_to? key.to_sym send key.to_sym else @params.send key.to_sym end end
[]=(key, value)
click to toggle source
# File lib/card/env/success.rb, line 45 def []= key, value if respond_to? "#{key}=" send "#{key}=", value else @params.send "#{key}=", value end end
flash(message=nil)
click to toggle source
# File lib/card/env/success.rb, line 61 def flash message=nil @params[:flash] ||= [] @params[:flash] << message if message @params[:flash] end
in_context(name_context)
click to toggle source
# File lib/card/env/success.rb, line 24 def in_context name_context self.name_context = name_context self end
params()
click to toggle source
# File lib/card/env/success.rb, line 67 def params @params.marshal_dump end
redirect()
click to toggle source
# File lib/card/env/success.rb, line 37 def redirect @redirect.present? ? @redirect : false end
reload?()
click to toggle source
# File lib/card/env/success.rb, line 41 def reload? @reload.to_s == "true" end
session()
click to toggle source
# File lib/card/env/success.rb, line 71 def session Card::Env.session end
to_url(name_context=@name_context)
click to toggle source
# File lib/card/env/success.rb, line 19 def to_url name_context=@name_context target = target name_context target.is_a?(Card) ? target.format.path(params) : target end
Private Instance Methods
apply(hash)
click to toggle source
# File lib/card/env/success.rb, line 93 def apply hash hash.each_pair do |key, value| next unless value.present? self[key] = value end end
infer_bracket(method, assign, val)
click to toggle source
# File lib/card/env/success.rb, line 87 def infer_bracket method, assign, val args = [method] args << val if assign @params.send(*args) end
method_missing(method, *args)
click to toggle source
Calls superclass method
# File lib/card/env/success.rb, line 81 def method_missing method, *args return super unless (m = method.match(/^(\w+(=)?)/)) infer_bracket m[1].to_sym, m[2], args[0] end
normalize_success_args(success_args)
click to toggle source
# File lib/card/env/success.rb, line 101 def normalize_success_args success_args case success_args when nil self.mark = "_self" {} when ActionController::Parameters success_args.to_unsafe_h else success_args end end
respond_to_missing?(method, _include_private=false)
click to toggle source
Calls superclass method
# File lib/card/env/success.rb, line 77 def respond_to_missing? method, _include_private=false method.match?(/^(\w+)=?$/) || super end