Sha256: 3794576b436d949adde1eb8ba149f87004b83578207aba67c85874f9139f43a6

Contents?: true

Size: 1.31 KB

Versions: 14

Compression:

Stored size: 1.31 KB

Contents

module MyJohnDeere
  class ContributionActivation < SingleResource
    self.base_jd_resource = "contributionActivations"
    self.list_resource_path = "organizations/%{organization_id}/#{self.base_jd_resource}"
    self.retrieve_resource_path = self.base_jd_resource
    attr_accessor :contribution_product_id
    attributes_to_pull_from_json(:activationStatus, :id)

    def initialize(json_object, access_token = nil)
      super(json_object, access_token)
      if self.id.nil? then
        self.id = extract_link_with_rel_from_list("self", /contributionActivations\/([^\/]+)\Z/)
      end
      self.contribution_product_id = extract_link_with_rel_from_list("contributionProduct", /#{ContributionProduct.base_jd_resource}\/([^\/]+)\Z/)
    end

    def self.create(access_token, organization_id, contribution_product_id, activated: true)
      body = {
        # Must include the class
        "@type" => to_s.gsub(/^.*::/, ''),
        activationStatus: activated ? "ACTIVATED" : "DEACTIVATED",
        links: [
          {
            "@type" => "Link",
            rel: "ContributionProduct",
            uri: "#{MyJohnDeere.configuration.endpoint}/contributionProducts/#{contribution_product_id}"
          }
        ]
      }
      
      return send_create(access_token, body, organization_id: organization_id)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
myjohndeere-0.1.11 lib/myjohndeere/contribution_activation.rb
myjohndeere-0.1.10 lib/myjohndeere/contribution_activation.rb
myjohndeere-0.1.9 lib/myjohndeere/contribution_activation.rb
myjohndeere-0.1.8 lib/myjohndeere/contribution_activation.rb
myjohndeere-0.1.7 lib/myjohndeere/contribution_activation.rb
myjohndeere-0.1.6 lib/myjohndeere/contribution_activation.rb
myjohndeere-0.1.5 lib/myjohndeere/contribution_activation.rb
myjohndeere-0.1.4 lib/myjohndeere/contribution_activation.rb
myjohndeere-0.1.3 lib/myjohndeere/contribution_activation.rb
myjohndeere-0.1.2 lib/myjohndeere/contribution_activation.rb
myjohndeere-0.1.1 lib/myjohndeere/contribution_activation.rb
myjohndeere-0.1.0 lib/myjohndeere/contribution_activation.rb
myjohndeere-0.0.11 lib/myjohndeere/contribution_activation.rb
myjohndeere-0.0.10 lib/myjohndeere/contribution_activation.rb