Module: WiseGopher::Base::ClassMethods
- Defined in:
- lib/wise_gopher/base.rb
Overview
class methods for WiseGopher::Base
Instance Attribute Summary collapse
-
#params ⇒ Object
readonly
Returns the value of attribute params.
-
#raw_params ⇒ Object
readonly
Returns the value of attribute raw_params.
-
#row_class ⇒ Object
readonly
Returns the value of attribute row_class.
Instance Method Summary collapse
- #ensure_all_params_are_given(inputs = {}) ⇒ Object
- #execute ⇒ Object
- #execute_with(inputs) ⇒ Object
- #param(name, type, transform = nil) ⇒ Object
- #query(query) ⇒ Object
- #raw_param(name, **kwargs) ⇒ Object
- #row(base = nil, &block) ⇒ Object
Instance Attribute Details
#params ⇒ Object (readonly)
Returns the value of attribute params.
19 20 21 |
# File 'lib/wise_gopher/base.rb', line 19 def params @params end |
#raw_params ⇒ Object (readonly)
Returns the value of attribute raw_params.
19 20 21 |
# File 'lib/wise_gopher/base.rb', line 19 def raw_params @raw_params end |
#row_class ⇒ Object (readonly)
Returns the value of attribute row_class.
19 20 21 |
# File 'lib/wise_gopher/base.rb', line 19 def row_class @row_class end |
Instance Method Details
#ensure_all_params_are_given(inputs = {}) ⇒ Object
61 62 63 64 65 |
# File 'lib/wise_gopher/base.rb', line 61 def ensure_all_params_are_given(inputs = {}) missing_params = required_params.keys - inputs.keys.map(&:to_s) raise WiseGopher::ArgumentError, required_params.slice(*missing_params) if missing_params.any? end |
#execute ⇒ Object
49 50 51 52 53 |
# File 'lib/wise_gopher/base.rb', line 49 def execute ensure_all_params_are_given new.execute end |
#execute_with(inputs) ⇒ Object
55 56 57 58 59 |
# File 'lib/wise_gopher/base.rb', line 55 def execute_with(inputs) ensure_all_params_are_given(inputs) new(inputs).execute end |
#param(name, type, transform = nil) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/wise_gopher/base.rb', line 25 def param(name, type, transform = nil) new_param = WiseGopher::Param.new(name, type, transform) ensure_param_name_is_available(new_param.name) params[new_param.name] = new_param end |
#query(query) ⇒ Object
21 22 23 |
# File 'lib/wise_gopher/base.rb', line 21 def query(query) const_set "QUERY", query.freeze end |
#raw_param(name, **kwargs) ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/wise_gopher/base.rb', line 33 def raw_param(name, **kwargs) raw_param = WiseGopher::RawParam.new(name, **kwargs) ensure_param_name_is_available(raw_param.name) raw_params[raw_param.name] = raw_param end |
#row(base = nil, &block) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/wise_gopher/base.rb', line 41 def row(base = nil, &block) @row_class ||= base || define_generic_row_class @row_class.include WiseGopher::Row @row_class.class_eval(&block) if block_given? end |