killbill-client 2.4.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.circleci/config.yml +24 -118
- data/.github/CONTRIBUTING.md +20 -0
- data/.github/FUNDING.yml +3 -0
- data/.github/workflows/ci.yml +145 -0
- data/.github/workflows/release.yml +46 -0
- data/README.md +2 -1
- data/bin/retry +21 -0
- data/docker/docker-compose.ci.mysql.yml +21 -0
- data/docker/docker-compose.ci.postgresql.yml +21 -0
- data/killbill_client.gemspec +2 -1
- data/lib/killbill_client.rb +2 -0
- data/lib/killbill_client/api/api.rb +1 -1
- data/lib/killbill_client/api/net_http_adapter.rb +30 -16
- data/lib/killbill_client/models/account.rb +12 -24
- data/lib/killbill_client/models/admin.rb +131 -0
- data/lib/killbill_client/models/bundle.rb +2 -0
- data/lib/killbill_client/models/credit.rb +5 -5
- data/lib/killbill_client/models/custom_field.rb +17 -0
- data/lib/killbill_client/models/gen/account_attributes.rb +0 -1
- data/lib/killbill_client/models/gen/{block_price_override_attributes.rb → block_price_attributes.rb} +1 -1
- data/lib/killbill_client/models/gen/invoice_attributes.rb +1 -0
- data/lib/killbill_client/models/gen/invoice_item_attributes.rb +1 -0
- data/lib/killbill_client/models/gen/overdue_state_attributes.rb +0 -1
- data/lib/killbill_client/models/gen/{phase_price_override_attributes.rb → phase_price_attributes.rb} +2 -2
- data/lib/killbill_client/models/gen/require_gen.rb +52 -53
- data/lib/killbill_client/models/gen/subscription_attributes.rb +2 -0
- data/lib/killbill_client/models/gen/{tier_price_override_attributes.rb → tier_price_attributes.rb} +2 -2
- data/lib/killbill_client/models/gen/{usage_price_override_attributes.rb → usage_price_attributes.rb} +2 -2
- data/lib/killbill_client/models/helpers/custom_field_helper.rb +1 -1
- data/lib/killbill_client/models/invoice.rb +7 -7
- data/lib/killbill_client/models/invoice_item.rb +4 -1
- data/lib/killbill_client/models/invoice_payment.rb +3 -0
- data/lib/killbill_client/models/models.rb +1 -0
- data/lib/killbill_client/models/resource.rb +1 -1
- data/lib/killbill_client/models/subscription.rb +23 -1
- data/lib/killbill_client/version.rb +1 -16
- data/spec/killbill_client/http_adapter_spec.rb +38 -0
- data/spec/killbill_client/remote/model_spec.rb +15 -12
- metadata +30 -9
- data/lib/killbill_client/models/gen/credit_attributes.rb +0 -43
- data/lib/killbill_client/models/gen/invoice_email_attributes.rb +0 -35
| @@ -30,7 +30,6 @@ module KillBillClient | |
| 30 30 | 
             
                class OverdueStateAttributes < Resource
         | 
| 31 31 | 
             
                  attribute :name
         | 
| 32 32 | 
             
                  attribute :external_message
         | 
| 33 | 
            -
                  attribute :days_between_payment_retries
         | 
| 34 33 | 
             
                  attribute :is_disable_entitlement_and_changes_blocked
         | 
| 35 34 | 
             
                  attribute :is_block_changes
         | 
| 36 35 | 
             
                  attribute :is_clear_state
         | 
    
        data/lib/killbill_client/models/gen/{phase_price_override_attributes.rb → phase_price_attributes.rb}
    RENAMED
    
    | @@ -27,13 +27,13 @@ | |
| 27 27 |  | 
| 28 28 | 
             
            module KillBillClient
         | 
| 29 29 | 
             
              module Model
         | 
| 30 | 
            -
                class  | 
| 30 | 
            +
                class PhasePriceAttributes < Resource
         | 
| 31 31 | 
             
                  attribute :plan_name
         | 
| 32 32 | 
             
                  attribute :phase_name
         | 
| 33 33 | 
             
                  attribute :phase_type
         | 
| 34 34 | 
             
                  attribute :fixed_price
         | 
| 35 35 | 
             
                  attribute :recurring_price
         | 
| 36 | 
            -
                  attribute : | 
| 36 | 
            +
                  attribute :usage_prices
         | 
| 37 37 | 
             
                end
         | 
| 38 38 | 
             
              end
         | 
| 39 39 | 
             
            end
         | 
| @@ -24,7 +24,27 @@ | |
| 24 24 | 
             
            #    File automatically generated by killbill-java-parser (git@github.com:killbill/killbill-java-parser.git)
         | 
| 25 25 | 
             
            #
         | 
| 26 26 |  | 
| 27 | 
            -
             | 
| 27 | 
            +
             | 
| 28 | 
            +
            require 'killbill_client/models/gen/invoice_item_attributes'
         | 
| 29 | 
            +
            require 'killbill_client/models/gen/combo_hosted_payment_page_attributes'
         | 
| 30 | 
            +
            require 'killbill_client/models/gen/simple_plan_attributes'
         | 
| 31 | 
            +
            require 'killbill_client/models/gen/bundle_timeline_attributes'
         | 
| 32 | 
            +
            require 'killbill_client/models/gen/payment_transaction_attributes'
         | 
| 33 | 
            +
            require 'killbill_client/models/gen/unit_usage_record_attributes'
         | 
| 34 | 
            +
            require 'killbill_client/models/gen/usage_record_attributes'
         | 
| 35 | 
            +
            require 'killbill_client/models/gen/subscription_usage_record_attributes'
         | 
| 36 | 
            +
            require 'killbill_client/models/gen/rolled_up_unit_attributes'
         | 
| 37 | 
            +
            require 'killbill_client/models/gen/rolled_up_usage_attributes'
         | 
| 38 | 
            +
            require 'killbill_client/models/gen/role_definition_attributes'
         | 
| 39 | 
            +
            require 'killbill_client/models/gen/usage_price_attributes'
         | 
| 40 | 
            +
            require 'killbill_client/models/gen/combo_payment_transaction_attributes'
         | 
| 41 | 
            +
            require 'killbill_client/models/gen/hosted_payment_page_fields_attributes'
         | 
| 42 | 
            +
            require 'killbill_client/models/gen/plan_detail_attributes'
         | 
| 43 | 
            +
            require 'killbill_client/models/gen/invoice_payment_transaction_attributes'
         | 
| 44 | 
            +
            require 'killbill_client/models/gen/overdue_attributes'
         | 
| 45 | 
            +
            require 'killbill_client/models/gen/tier_price_attributes'
         | 
| 46 | 
            +
            require 'killbill_client/models/gen/tag_definition_attributes'
         | 
| 47 | 
            +
            require 'killbill_client/models/gen/hosted_payment_page_billing_address_attributes'
         | 
| 28 48 | 
             
            require 'killbill_client/models/gen/unit_attributes'
         | 
| 29 49 | 
             
            require 'killbill_client/models/gen/product_attributes'
         | 
| 30 50 | 
             
            require 'killbill_client/models/gen/plan_attributes'
         | 
| @@ -37,67 +57,46 @@ require 'killbill_client/models/gen/price_attributes' | |
| 37 57 | 
             
            require 'killbill_client/models/gen/price_list_attributes'
         | 
| 38 58 | 
             
            require 'killbill_client/models/gen/duration_attributes'
         | 
| 39 59 | 
             
            require 'killbill_client/models/gen/catalog_attributes'
         | 
| 60 | 
            +
            require 'killbill_client/models/gen/custom_field_attributes'
         | 
| 61 | 
            +
            require 'killbill_client/models/gen/overdue_state_attributes'
         | 
| 62 | 
            +
            require 'killbill_client/models/gen/overdue_condition_attributes'
         | 
| 63 | 
            +
            require 'killbill_client/models/gen/bundle_attributes'
         | 
| 64 | 
            +
            require 'killbill_client/models/gen/invoice_attributes'
         | 
| 40 65 | 
             
            require 'killbill_client/models/gen/payment_attributes'
         | 
| 41 | 
            -
            require 'killbill_client/models/gen/tag_definition_attributes'
         | 
| 42 | 
            -
            require 'killbill_client/models/gen/payment_transaction_attributes'
         | 
| 43 | 
            -
            require 'killbill_client/models/gen/bulk_subscriptions_bundle_attributes'
         | 
| 44 | 
            -
            require 'killbill_client/models/gen/simple_plan_attributes'
         | 
| 45 66 | 
             
            require 'killbill_client/models/gen/node_command_attributes'
         | 
| 46 | 
            -
            require 'killbill_client/models/gen/ | 
| 47 | 
            -
            require 'killbill_client/models/gen/ | 
| 48 | 
            -
            require 'killbill_client/models/gen/ | 
| 49 | 
            -
            require 'killbill_client/models/gen/stack_trace_element_attributes'
         | 
| 50 | 
            -
            require 'killbill_client/models/gen/billing_exception_attributes'
         | 
| 51 | 
            -
            require 'killbill_client/models/gen/usage_price_override_attributes'
         | 
| 67 | 
            +
            require 'killbill_client/models/gen/payment_method_plugin_detail_attributes'
         | 
| 68 | 
            +
            require 'killbill_client/models/gen/payment_method_attributes'
         | 
| 69 | 
            +
            require 'killbill_client/models/gen/node_command_property_attributes'
         | 
| 52 70 | 
             
            require 'killbill_client/models/gen/tenant_key_value_attributes'
         | 
| 53 | 
            -
            require 'killbill_client/models/gen/ | 
| 54 | 
            -
            require 'killbill_client/models/gen/ | 
| 55 | 
            -
            require 'killbill_client/models/gen/ | 
| 71 | 
            +
            require 'killbill_client/models/gen/phase_price_attributes'
         | 
| 72 | 
            +
            require 'killbill_client/models/gen/overdue_state_config_attributes'
         | 
| 73 | 
            +
            require 'killbill_client/models/gen/invoice_payment_attributes'
         | 
| 74 | 
            +
            require 'killbill_client/models/gen/blocking_state_attributes'
         | 
| 75 | 
            +
            require 'killbill_client/models/gen/audit_log_attributes'
         | 
| 56 76 | 
             
            require 'killbill_client/models/gen/payment_attempt_attributes'
         | 
| 77 | 
            +
            require 'killbill_client/models/gen/node_info_attributes'
         | 
| 57 78 | 
             
            require 'killbill_client/models/gen/notification_attributes'
         | 
| 58 | 
            -
            require 'killbill_client/models/gen/overdue_state_attributes'
         | 
| 59 | 
            -
            require 'killbill_client/models/gen/custom_field_attributes'
         | 
| 60 | 
            -
            require 'killbill_client/models/gen/role_definition_attributes'
         | 
| 61 | 
            -
            require 'killbill_client/models/gen/tier_price_override_attributes'
         | 
| 62 | 
            -
            require 'killbill_client/models/gen/invoice_item_attributes'
         | 
| 63 | 
            -
            require 'killbill_client/models/gen/plugin_property_attributes'
         | 
| 64 | 
            -
            require 'killbill_client/models/gen/admin_payment_attributes'
         | 
| 65 79 | 
             
            require 'killbill_client/models/gen/event_subscription_attributes'
         | 
| 66 80 | 
             
            require 'killbill_client/models/gen/subscription_attributes'
         | 
| 81 | 
            +
            require 'killbill_client/models/gen/account_timeline_attributes'
         | 
| 82 | 
            +
            require 'killbill_client/models/gen/plugin_service_info_attributes'
         | 
| 83 | 
            +
            require 'killbill_client/models/gen/plugin_info_attributes'
         | 
| 67 84 | 
             
            require 'killbill_client/models/gen/tenant_attributes'
         | 
| 68 | 
            -
            require 'killbill_client/models/gen/ | 
| 69 | 
            -
            require 'killbill_client/models/gen/ | 
| 70 | 
            -
            require 'killbill_client/models/gen/subscription_usage_record_attributes'
         | 
| 71 | 
            -
            require 'killbill_client/models/gen/gateway_notification_attributes'
         | 
| 72 | 
            -
            require 'killbill_client/models/gen/audit_log_attributes'
         | 
| 73 | 
            -
            require 'killbill_client/models/gen/invoice_payment_transaction_attributes'
         | 
| 74 | 
            -
            require 'killbill_client/models/gen/account_attributes'
         | 
| 75 | 
            -
            require 'killbill_client/models/gen/invoice_attributes'
         | 
| 76 | 
            -
            require 'killbill_client/models/gen/block_price_override_attributes'
         | 
| 85 | 
            +
            require 'killbill_client/models/gen/plugin_property_attributes'
         | 
| 86 | 
            +
            require 'killbill_client/models/gen/user_roles_attributes'
         | 
| 77 87 | 
             
            require 'killbill_client/models/gen/profiling_data_attributes_item'
         | 
| 78 88 | 
             
            require 'killbill_client/models/gen/profiling_data_attributes'
         | 
| 79 | 
            -
            require 'killbill_client/models/gen/ | 
| 80 | 
            -
            require 'killbill_client/models/gen/ | 
| 81 | 
            -
            require 'killbill_client/models/gen/bundle_attributes'
         | 
| 82 | 
            -
            require 'killbill_client/models/gen/combo_hosted_payment_page_attributes'
         | 
| 83 | 
            -
            require 'killbill_client/models/gen/plan_detail_attributes'
         | 
| 84 | 
            -
            require 'killbill_client/models/gen/overdue_attributes'
         | 
| 85 | 
            -
            require 'killbill_client/models/gen/user_roles_attributes'
         | 
| 86 | 
            -
            require 'killbill_client/models/gen/bundle_timeline_attributes'
         | 
| 87 | 
            -
            require 'killbill_client/models/gen/plugin_service_info_attributes'
         | 
| 88 | 
            -
            require 'killbill_client/models/gen/plugin_info_attributes'
         | 
| 89 | 
            -
            require 'killbill_client/models/gen/phase_price_override_attributes'
         | 
| 89 | 
            +
            require 'killbill_client/models/gen/admin_payment_attributes'
         | 
| 90 | 
            +
            require 'killbill_client/models/gen/account_email_attributes'
         | 
| 90 91 | 
             
            require 'killbill_client/models/gen/hosted_payment_page_form_descriptor_attributes'
         | 
| 91 | 
            -
            require 'killbill_client/models/gen/ | 
| 92 | 
            -
            require 'killbill_client/models/gen/ | 
| 93 | 
            -
            require 'killbill_client/models/gen/ | 
| 94 | 
            -
            require 'killbill_client/models/gen/ | 
| 95 | 
            -
            require 'killbill_client/models/gen/ | 
| 96 | 
            -
            require 'killbill_client/models/gen/ | 
| 97 | 
            -
            require 'killbill_client/models/gen/ | 
| 92 | 
            +
            require 'killbill_client/models/gen/bulk_subscriptions_bundle_attributes'
         | 
| 93 | 
            +
            require 'killbill_client/models/gen/subject_attributes'
         | 
| 94 | 
            +
            require 'killbill_client/models/gen/stack_trace_element_attributes'
         | 
| 95 | 
            +
            require 'killbill_client/models/gen/billing_exception_attributes'
         | 
| 96 | 
            +
            require 'killbill_client/models/gen/hosted_payment_page_customer_attributes'
         | 
| 97 | 
            +
            require 'killbill_client/models/gen/gateway_notification_attributes'
         | 
| 98 | 
            +
            require 'killbill_client/models/gen/account_attributes'
         | 
| 99 | 
            +
            require 'killbill_client/models/gen/invoice_dry_run_attributes'
         | 
| 98 100 | 
             
            require 'killbill_client/models/gen/session_attributes'
         | 
| 99 | 
            -
            require 'killbill_client/models/gen/ | 
| 100 | 
            -
            require 'killbill_client/models/gen/ | 
| 101 | 
            -
            require 'killbill_client/models/gen/payment_method_plugin_detail_attributes'
         | 
| 102 | 
            -
            require 'killbill_client/models/gen/payment_method_attributes'
         | 
| 103 | 
            -
            require 'killbill_client/models/gen/subject_attributes'
         | 
| 101 | 
            +
            require 'killbill_client/models/gen/block_price_attributes'
         | 
| 102 | 
            +
            require 'killbill_client/models/gen/tag_attributes'
         | 
| @@ -30,6 +30,7 @@ module KillBillClient | |
| 30 30 | 
             
                class SubscriptionAttributes < Resource
         | 
| 31 31 | 
             
                  attribute :account_id
         | 
| 32 32 | 
             
                  attribute :bundle_id
         | 
| 33 | 
            +
                  attribute :bundle_external_key
         | 
| 33 34 | 
             
                  attribute :subscription_id
         | 
| 34 35 | 
             
                  attribute :external_key
         | 
| 35 36 | 
             
                  attribute :start_date
         | 
| @@ -48,6 +49,7 @@ module KillBillClient | |
| 48 49 | 
             
                  attribute :bill_cycle_day_local
         | 
| 49 50 | 
             
                  attribute :events
         | 
| 50 51 | 
             
                  attribute :price_overrides
         | 
| 52 | 
            +
                  attribute :prices
         | 
| 51 53 | 
             
                  attribute :audit_logs
         | 
| 52 54 | 
             
                end
         | 
| 53 55 | 
             
              end
         | 
    
        data/lib/killbill_client/models/gen/{usage_price_override_attributes.rb → usage_price_attributes.rb}
    RENAMED
    
    | @@ -27,12 +27,12 @@ | |
| 27 27 |  | 
| 28 28 | 
             
            module KillBillClient
         | 
| 29 29 | 
             
              module Model
         | 
| 30 | 
            -
                class  | 
| 30 | 
            +
                class UsagePriceAttributes < Resource
         | 
| 31 31 | 
             
                  attribute :usage_name
         | 
| 32 32 | 
             
                  attribute :usage_type
         | 
| 33 33 | 
             
                  attribute :billing_mode
         | 
| 34 34 | 
             
                  attribute :tier_block_policy
         | 
| 35 | 
            -
                  attribute : | 
| 35 | 
            +
                  attribute :tier_prices
         | 
| 36 36 | 
             
                end
         | 
| 37 37 | 
             
              end
         | 
| 38 38 | 
             
            end
         | 
| @@ -4,41 +4,41 @@ module KillBillClient | |
| 4 4 |  | 
| 5 5 | 
             
                  include KillBillClient::Model::CustomFieldHelper
         | 
| 6 6 | 
             
                  include KillBillClient::Model::TagHelper
         | 
| 7 | 
            +
                  include KillBillClient::Model::AuditLogWithHistoryHelper
         | 
| 7 8 |  | 
| 8 9 | 
             
                  KILLBILL_API_INVOICES_PREFIX = "#{KILLBILL_API_PREFIX}/invoices"
         | 
| 9 10 | 
             
                  KILLBILL_API_DRY_RUN_INVOICES_PREFIX = "#{KILLBILL_API_INVOICES_PREFIX}/dryRun"
         | 
| 10 11 |  | 
| 11 12 | 
             
                  has_many :audit_logs, KillBillClient::Model::AuditLog
         | 
| 12 13 | 
             
                  has_many :items, KillBillClient::Model::InvoiceItem
         | 
| 13 | 
            -
                  has_many :credits, KillBillClient::Model:: | 
| 14 | 
            +
                  has_many :credits, KillBillClient::Model::InvoiceItem
         | 
| 14 15 |  | 
| 15 16 | 
             
                  has_custom_fields KILLBILL_API_INVOICES_PREFIX, :invoice_id
         | 
| 16 17 | 
             
                  has_tags KILLBILL_API_INVOICES_PREFIX, :invoice_id
         | 
| 18 | 
            +
                  has_audit_logs_with_history KILLBILL_API_INVOICES_PREFIX, :invoice_id
         | 
| 19 | 
            +
             | 
| 17 20 |  | 
| 18 21 | 
             
                  class << self
         | 
| 19 | 
            -
                    def find_by_id(invoice_id,  | 
| 22 | 
            +
                    def find_by_id(invoice_id, audit = "NONE", options = {})
         | 
| 20 23 | 
             
                      get "#{KILLBILL_API_INVOICES_PREFIX}/#{invoice_id}",
         | 
| 21 24 | 
             
                          {
         | 
| 22 | 
            -
                              :withItems => with_items,
         | 
| 23 25 | 
             
                              :audit     => audit
         | 
| 24 26 | 
             
                          },
         | 
| 25 27 | 
             
                          options
         | 
| 26 28 | 
             
                    end
         | 
| 27 29 |  | 
| 28 | 
            -
                    def find_by_number(number,  | 
| 30 | 
            +
                    def find_by_number(number, audit = "NONE", options = {})
         | 
| 29 31 | 
             
                      get "#{KILLBILL_API_INVOICES_PREFIX}/byNumber/#{number}",
         | 
| 30 32 | 
             
                          {
         | 
| 31 | 
            -
                              :withItems => with_items,
         | 
| 32 33 | 
             
                              :audit     => audit
         | 
| 33 34 | 
             
                          },
         | 
| 34 35 | 
             
                          options
         | 
| 35 36 | 
             
                    end
         | 
| 36 37 |  | 
| 37 | 
            -
                    def find_by_invoice_item_id(invoice_item_id,  | 
| 38 | 
            +
                    def find_by_invoice_item_id(invoice_item_id, with_children_items = false, audit = "NONE", options = {})
         | 
| 38 39 | 
             
                      get "#{KILLBILL_API_INVOICES_PREFIX}/byItemId/#{invoice_item_id}",
         | 
| 39 40 | 
             
                          {
         | 
| 40 41 | 
             
                              :withChildrenItems => with_children_items,
         | 
| 41 | 
            -
                              :withItems => with_items,
         | 
| 42 42 | 
             
                              :audit     => audit
         | 
| 43 43 | 
             
                          },
         | 
| 44 44 | 
             
                          options
         | 
| @@ -6,12 +6,15 @@ module KillBillClient | |
| 6 6 |  | 
| 7 7 | 
             
                  include KillBillClient::Model::TagHelper
         | 
| 8 8 | 
             
                  include KillBillClient::Model::CustomFieldHelper
         | 
| 9 | 
            +
                  include KillBillClient::Model::AuditLogWithHistoryHelper
         | 
| 9 10 |  | 
| 10 11 | 
             
                  has_custom_fields KILLBILL_API_INVOICE_ITEMS_PREFIX, :invoice_item_id
         | 
| 11 12 | 
             
                  has_tags KILLBILL_API_INVOICE_ITEMS_PREFIX, :invoice_item_id
         | 
| 12 | 
            -
             | 
| 13 13 | 
             
                  has_many :audit_logs, KillBillClient::Model::AuditLog
         | 
| 14 14 |  | 
| 15 | 
            +
                  has_audit_logs_with_history KILLBILL_API_INVOICE_ITEMS_PREFIX, :invoice_item_id
         | 
| 16 | 
            +
             | 
| 17 | 
            +
             | 
| 15 18 | 
             
                  # DO NOT DELETE THIS METHOD
         | 
| 16 19 | 
             
                  def tags(included_deleted = false, audit = 'NONE', options = {})
         | 
| 17 20 | 
             
                    params = {}
         | 
| @@ -4,6 +4,7 @@ module KillBillClient | |
| 4 4 |  | 
| 5 5 | 
             
                  include KillBillClient::Model::CustomFieldHelper
         | 
| 6 6 | 
             
                  include KillBillClient::Model::TagHelper
         | 
| 7 | 
            +
                  include KillBillClient::Model::AuditLogWithHistoryHelper
         | 
| 7 8 |  | 
| 8 9 | 
             
                  KILLBILL_API_INVOICE_PAYMENTS_PREFIX = "#{KILLBILL_API_PREFIX}/invoicePayments"
         | 
| 9 10 |  | 
| @@ -14,6 +15,8 @@ module KillBillClient | |
| 14 15 | 
             
                  has_custom_fields KILLBILL_API_INVOICE_PAYMENTS_PREFIX, :payment_id
         | 
| 15 16 | 
             
                  has_tags KILLBILL_API_INVOICE_PAYMENTS_PREFIX, :payment_id
         | 
| 16 17 |  | 
| 18 | 
            +
                  has_audit_logs_with_history KILLBILL_API_INVOICE_PAYMENTS_PREFIX, :payment_id
         | 
| 19 | 
            +
             | 
| 17 20 | 
             
                  class << self
         | 
| 18 21 | 
             
                    def find_by_id(payment_id, with_plugin_info = false, with_attempts = false, options = {})
         | 
| 19 22 | 
             
                      get "#{KILLBILL_API_INVOICE_PAYMENTS_PREFIX}/#{payment_id}",
         | 
| @@ -42,6 +42,7 @@ require 'killbill_client/models/usage_record' | |
| 42 42 | 
             
            require 'killbill_client/models/rolled_up_usage'
         | 
| 43 43 | 
             
            require 'killbill_client/models/account_timeline'
         | 
| 44 44 | 
             
            require 'killbill_client/models/nodes_info'
         | 
| 45 | 
            +
            require 'killbill_client/models/admin'
         | 
| 45 46 |  | 
| 46 47 | 
             
            require 'killbill_client/models/export'
         | 
| 47 48 |  | 
| @@ -4,21 +4,42 @@ module KillBillClient | |
| 4 4 |  | 
| 5 5 | 
             
                  include KillBillClient::Model::TagHelper
         | 
| 6 6 | 
             
                  include KillBillClient::Model::CustomFieldHelper
         | 
| 7 | 
            +
                  include KillBillClient::Model::AuditLogWithHistoryHelper
         | 
| 7 8 |  | 
| 8 9 | 
             
                  KILLBILL_API_ENTITLEMENT_PREFIX = "#{KILLBILL_API_PREFIX}/subscriptions"
         | 
| 9 10 |  | 
| 10 11 | 
             
                  has_many :events, KillBillClient::Model::EventSubscription
         | 
| 11 | 
            -
                  has_many :price_overrides, KillBillClient::Model:: | 
| 12 | 
            +
                  has_many :price_overrides, KillBillClient::Model::PhasePriceAttributes
         | 
| 12 13 |  | 
| 13 14 | 
             
                  has_custom_fields KILLBILL_API_ENTITLEMENT_PREFIX, :subscription_id
         | 
| 14 15 | 
             
                  has_tags KILLBILL_API_ENTITLEMENT_PREFIX, :subscription_id
         | 
| 15 16 |  | 
| 17 | 
            +
                  has_audit_logs_with_history KILLBILL_API_ENTITLEMENT_PREFIX, :subscription_id
         | 
| 18 | 
            +
             | 
| 16 19 | 
             
                  class << self
         | 
| 17 20 | 
             
                    def find_by_id(subscription_id, options = {})
         | 
| 18 21 | 
             
                      get "#{KILLBILL_API_ENTITLEMENT_PREFIX}/#{subscription_id}",
         | 
| 19 22 | 
             
                          {},
         | 
| 20 23 | 
             
                          options
         | 
| 21 24 | 
             
                    end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                    def find_by_external_key(external_key, options = {})
         | 
| 27 | 
            +
                      params = {}
         | 
| 28 | 
            +
                      params[:externalKey] = external_key
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                      get "#{KILLBILL_API_ENTITLEMENT_PREFIX}",
         | 
| 31 | 
            +
                          params,
         | 
| 32 | 
            +
                          options
         | 
| 33 | 
            +
                    end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
             | 
| 36 | 
            +
                    def event_audit_logs_with_history(event_id, options = {})
         | 
| 37 | 
            +
                      get "#{KILLBILL_API_ENTITLEMENT_PREFIX}/events/#{event_id}/auditLogsWithHistory",
         | 
| 38 | 
            +
                          {},
         | 
| 39 | 
            +
                          options,
         | 
| 40 | 
            +
                          AuditLog
         | 
| 41 | 
            +
                    end
         | 
| 42 | 
            +
             | 
| 22 43 | 
             
                  end
         | 
| 23 44 | 
             
                  #
         | 
| 24 45 | 
             
                  # Create a new entitlement
         | 
| @@ -196,6 +217,7 @@ module KillBillClient | |
| 196 217 | 
             
                                       :comment => comment,
         | 
| 197 218 | 
             
                                   }.merge(options)
         | 
| 198 219 | 
             
                  end
         | 
| 220 | 
            +
             | 
| 199 221 | 
             
                end
         | 
| 200 222 | 
             
              end
         | 
| 201 223 | 
             
            end
         | 
| @@ -1,18 +1,3 @@ | |
| 1 1 | 
             
            module KillBillClient
         | 
| 2 | 
            -
               | 
| 3 | 
            -
                MAJOR = 2
         | 
| 4 | 
            -
                MINOR = 4
         | 
| 5 | 
            -
                PATCH = 0
         | 
| 6 | 
            -
                PRE = nil
         | 
| 7 | 
            -
             | 
| 8 | 
            -
                VERSION = [MAJOR, MINOR, PATCH, PRE].compact.join('.').freeze
         | 
| 9 | 
            -
             | 
| 10 | 
            -
                class << self
         | 
| 11 | 
            -
                  def inspect
         | 
| 12 | 
            -
                    VERSION.dup
         | 
| 13 | 
            -
                  end
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                  alias to_s inspect
         | 
| 16 | 
            -
                end
         | 
| 17 | 
            -
              end
         | 
| 2 | 
            +
              VERSION = '3.3.0'
         | 
| 18 3 | 
             
            end
         | 
| @@ -1,6 +1,14 @@ | |
| 1 1 | 
             
            require 'spec_helper'
         | 
| 2 2 |  | 
| 3 3 | 
             
            describe KillBillClient::API do
         | 
| 4 | 
            +
             | 
| 5 | 
            +
              before do
         | 
| 6 | 
            +
                KillBillClient.url = nil
         | 
| 7 | 
            +
                KillBillClient.disable_ssl_verification = nil
         | 
| 8 | 
            +
                KillBillClient.read_timeout = nil
         | 
| 9 | 
            +
                KillBillClient.connection_timeout = nil
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
             | 
| 4 12 | 
             
              let(:expected_query_params) {
         | 
| 5 13 | 
             
                [
         | 
| 6 14 | 
             
                    'controlPluginName=killbill-example-plugin',
         | 
| @@ -55,11 +63,33 @@ describe KillBillClient::API do | |
| 55 63 | 
             
                http_adapter = DummyForHTTPAdapter.new
         | 
| 56 64 | 
             
                http_client = http_adapter.send(:create_http_client, uri)
         | 
| 57 65 | 
             
                expect(http_client.read_timeout).to eq(60)
         | 
| 66 | 
            +
                # The default value has changed from nil to 60 in 2.4
         | 
| 67 | 
            +
                #expect(http_client.open_timeout).to eq(60)
         | 
| 58 68 | 
             
                expect(http_client.use_ssl?).to be false
         | 
| 59 69 | 
             
                expect(http_client.verify_mode).to be_nil
         | 
| 60 70 | 
             
              end
         | 
| 61 71 |  | 
| 72 | 
            +
              it 'should set the global parameters for http client' do
         | 
| 73 | 
            +
                KillBillClient.url = 'https://example.com'
         | 
| 74 | 
            +
                KillBillClient.read_timeout = 123000
         | 
| 75 | 
            +
                KillBillClient.connection_timeout = 456000
         | 
| 76 | 
            +
                KillBillClient.disable_ssl_verification = true
         | 
| 77 | 
            +
             | 
| 78 | 
            +
                http_adapter = DummyForHTTPAdapter.new
         | 
| 79 | 
            +
                http_client = http_adapter.send(:create_http_client, ssl_uri, {})
         | 
| 80 | 
            +
                expect(http_client.read_timeout).to eq(123)
         | 
| 81 | 
            +
                expect(http_client.open_timeout).to eq(456)
         | 
| 82 | 
            +
                expect(http_client.use_ssl?).to be true
         | 
| 83 | 
            +
                expect(http_client.verify_mode).to eq(OpenSSL::SSL::VERIFY_NONE)
         | 
| 84 | 
            +
              end
         | 
| 85 | 
            +
             | 
| 62 86 | 
             
              it 'should set the correct parameters for http client' do
         | 
| 87 | 
            +
                # These don't matter (overridden by options)
         | 
| 88 | 
            +
                KillBillClient.url = 'https://example.com'
         | 
| 89 | 
            +
                KillBillClient.read_timeout = 123000
         | 
| 90 | 
            +
                KillBillClient.connection_timeout = 456000
         | 
| 91 | 
            +
                KillBillClient.disable_ssl_verification = false
         | 
| 92 | 
            +
             | 
| 63 93 | 
             
                http_adapter = DummyForHTTPAdapter.new
         | 
| 64 94 | 
             
                http_client = http_adapter.send(:create_http_client, ssl_uri, options)
         | 
| 65 95 | 
             
                expect(http_client.read_timeout).to eq(options[:read_timeout] / 1000)
         | 
| @@ -68,6 +98,14 @@ describe KillBillClient::API do | |
| 68 98 | 
             
                expect(http_client.verify_mode).to eq(OpenSSL::SSL::VERIFY_NONE)
         | 
| 69 99 | 
             
              end
         | 
| 70 100 |  | 
| 101 | 
            +
              # See https://github.com/killbill/killbill-client-ruby/issues/69
         | 
| 102 | 
            +
              it 'should construct URIs' do
         | 
| 103 | 
            +
                KillBillClient.url = 'http://example.com:8080'
         | 
| 104 | 
            +
             | 
| 105 | 
            +
                http_adapter = DummyForHTTPAdapter.new
         | 
| 106 | 
            +
                uri = http_adapter.send(:build_uri, KillBillClient::Model::Account::KILLBILL_API_ACCOUNTS_PREFIX, options)
         | 
| 107 | 
            +
                expect(uri).to eq(URI.parse("#{KillBillClient::API.base_uri.to_s}/1.0/kb/accounts"))
         | 
| 108 | 
            +
              end
         | 
| 71 109 | 
             
            end
         | 
| 72 110 |  | 
| 73 111 | 
             
            class DummyForHTTPAdapter
         |