Module: Connectwise::Model::ClassMethods
- Defined in:
- lib/connectwise/model.rb
Instance Method Summary collapse
- #attrs_to_query(attrs) ⇒ Object
- #cw_api_name ⇒ Object
- #cw_model_name ⇒ Object
- #find(connection, id) ⇒ Object
- #find_transform(attrs) ⇒ Object
- #model_name(model_name = self.name) ⇒ Object
- #plural(plural) ⇒ Object
- #plural_class_name ⇒ Object
- #save_transform(attrs) ⇒ Object
- #transform(attrs) ⇒ Object
- #where(connection, *args, **attrs) ⇒ Object
- #where_transform(attrs) ⇒ Object
Instance Method Details
#attrs_to_query(attrs) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/connectwise/model.rb', line 24 def attrs_to_query(attrs) attrs.map do |k,v| str = k.to_s str.extend(Connectwise::Extensions::String) "#{str.camelize} like '#{v}'" end.join(' and ') end |
#cw_api_name ⇒ Object
32 33 34 |
# File 'lib/connectwise/model.rb', line 32 def cw_api_name base_class_name.downcase.to_sym end |
#cw_model_name ⇒ Object
36 37 38 |
# File 'lib/connectwise/model.rb', line 36 def cw_model_name base_class_name.downcase.to_sym end |
#find(connection, id) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/connectwise/model.rb', line 10 def find(connection, id) if (attrs = connection.call(cw_api_name, "get_#{cw_model_name}".to_sym, {id: id})) self.new(connection, find_transform(attrs)) else fail RecordNotFound end rescue ConnectionError raise RecordNotFound end |
#find_transform(attrs) ⇒ Object
49 50 51 |
# File 'lib/connectwise/model.rb', line 49 def find_transform(attrs) attrs end |
#model_name(model_name = self.name) ⇒ Object
61 62 63 |
# File 'lib/connectwise/model.rb', line 61 def model_name(model_name = self.name) @model_name ||= model_name end |
#plural(plural) ⇒ Object
20 21 22 |
# File 'lib/connectwise/model.rb', line 20 def plural(plural) @plural_form = plural end |
#plural_class_name ⇒ Object
40 41 42 43 |
# File 'lib/connectwise/model.rb', line 40 def plural_class_name ending = base_class_name[/[aeiou]$/] ? 'es' : 's' @plural_form ||= "#{base_class_name.downcase}#{ending}" end |
#save_transform(attrs) ⇒ Object
53 54 55 |
# File 'lib/connectwise/model.rb', line 53 def save_transform(attrs) attrs end |
#transform(attrs) ⇒ Object
57 58 59 |
# File 'lib/connectwise/model.rb', line 57 def transform(attrs) attrs end |
#where(connection, *args, **attrs) ⇒ Object
4 5 6 7 8 |
# File 'lib/connectwise/model.rb', line 4 def where(connection, *args, **attrs) conditions = attrs.empty? ? args.join(' ') : attrs_to_query(where_transform(attrs)) resp = connection.call cw_api_name, "find_#{plural_class_name}".to_sym, {conditions: conditions} normalize_find_response(resp).map {|attrs| self.new(connection, find_transform(attrs)) } end |
#where_transform(attrs) ⇒ Object
45 46 47 |
# File 'lib/connectwise/model.rb', line 45 def where_transform(attrs) attrs end |