Class: Mailbluster::ResourceType
- Inherits:
-
Object
- Object
- Mailbluster::ResourceType
- Defined in:
- lib/mailbluster/resource_type.rb
Instance Attribute Summary collapse
-
#resource_type ⇒ Object
readonly
Returns the value of attribute resource_type.
Instance Method Summary collapse
- #create(new_attributes) ⇒ Object
- #delete(id_or_email_md5) ⇒ Object
-
#initialize(client, resource_type) ⇒ ResourceType
constructor
A new instance of ResourceType.
- #inspect ⇒ Object
- #lead? ⇒ Boolean
- #read(id_or_email_md5 = "") ⇒ Object
- #update(id_or_email_md5, new_attributes) ⇒ Object
Constructor Details
#initialize(client, resource_type) ⇒ ResourceType
Returns a new instance of ResourceType.
5 6 7 8 |
# File 'lib/mailbluster/resource_type.rb', line 5 def initialize(client, resource_type) @client = client @resource_type = resource_type end |
Instance Attribute Details
#resource_type ⇒ Object (readonly)
Returns the value of attribute resource_type.
3 4 5 |
# File 'lib/mailbluster/resource_type.rb', line 3 def resource_type @resource_type end |
Instance Method Details
#create(new_attributes) ⇒ Object
14 15 16 17 |
# File 'lib/mailbluster/resource_type.rb', line 14 def create(new_attributes) raw_resource_attributes = @client.post(resource_type, new_attributes) Resource.new(self, raw_resource_attributes[singular_resource_type] || raw_resource_attributes) end |
#delete(id_or_email_md5) ⇒ Object
36 37 38 39 40 |
# File 'lib/mailbluster/resource_type.rb', line 36 def delete(id_or_email_md5) id_or_email_md5 = Utils.md5(id_or_email_md5) if lead? && id_or_email_md5.include?("@") @client.delete("#{resource_type}/#{id_or_email_md5}") id_or_email_md5 end |
#inspect ⇒ Object
10 11 12 |
# File 'lib/mailbluster/resource_type.rb', line 10 def inspect "#<Mailbluster::ResourceType::#{singular_resource_type.capitalize}>" end |
#lead? ⇒ Boolean
42 43 44 |
# File 'lib/mailbluster/resource_type.rb', line 42 def lead? resource_type == "leads" end |
#read(id_or_email_md5 = "") ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/mailbluster/resource_type.rb', line 19 def read(id_or_email_md5 = "") id_or_email_md5 = Utils.md5(id_or_email_md5) if lead? && id_or_email_md5.include?("@") if id_or_email_md5.is_a?(Hash) query_params = query_parameterize(id_or_email_md5) id_or_email_md5 = "" end raw_resource_attributes = @client.get("#{resource_type}/#{id_or_email_md5}", query_params: query_params) map_to_resource(id_or_email_md5, raw_resource_attributes) end |
#update(id_or_email_md5, new_attributes) ⇒ Object
30 31 32 33 34 |
# File 'lib/mailbluster/resource_type.rb', line 30 def update(id_or_email_md5, new_attributes) id_or_email_md5 = Utils.md5(id_or_email_md5) if lead? && id_or_email_md5.include?("@") raw_resource_attributes = @client.put("#{resource_type}/#{id_or_email_md5}", new_attributes) Resource.new(self, raw_resource_attributes[singular_resource_type] || raw_resource_attributes) end |