Sha256: f2a8ab2f0aa14f107f7c2c3c2940161be20b59be36d2d2fcb55b0669476ad569

Contents?: true

Size: 857 Bytes

Versions: 7

Compression:

Stored size: 857 Bytes

Contents

# frozen_string_literal: true

module ChartMogul
  class PlanGroup < APIResource
    set_resource_name 'PlanGroup'
    set_resource_path '/v1/plan_groups'

    readonly_attr :uuid
    readonly_attr :plans_count

    writeable_attr :name
    writeable_attr :plans, default: []

    include API::Actions::Create
    include API::Actions::Destroy
    include API::Actions::Retrieve
    include API::Actions::Update

    def self.all(options = {})
      PlanGroups.all(options)
    end

    def serialize_plans
      plans.map(&:uuid)
    end

    class PlanGroups < APIResource
      set_resource_name 'PlanGroups'
      set_resource_path '/v1/plan_groups'

      set_resource_root_key :plan_groups

      include Concerns::Entries
      include Concerns::Pageable2
      include Concerns::PageableWithCursor

      set_entry_class PlanGroup
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
chartmogul-ruby-4.6.0 lib/chartmogul/plan_group.rb
chartmogul-ruby-4.4.0 lib/chartmogul/plan_group.rb
chartmogul-ruby-4.3.0 lib/chartmogul/plan_group.rb
chartmogul-ruby-4.2.0 lib/chartmogul/plan_group.rb
chartmogul-ruby-4.1.0 lib/chartmogul/plan_group.rb
chartmogul-ruby-4.0.0 lib/chartmogul/plan_group.rb
chartmogul-ruby-3.3.1 lib/chartmogul/plan_group.rb