Class: Io::Flow::V0::Clients::Organizations
- Inherits:
-
Object
- Object
- Io::Flow::V0::Clients::Organizations
- Defined in:
- lib/flow_commerce/flow_api_v0_client.rb
Instance Method Summary collapse
-
#delete_by_organization_id(organization_id) ⇒ Object
Delete the organization with this id.
-
#delete_settings_and_regions_by_organization_id_and_region(organization_id, region) ⇒ Object
Removes the setting for this region for a specific organization.
-
#get(incoming = {}) ⇒ Object
Search organizations.
-
#get_by_organization_id(organization_id) ⇒ Object
Returns information about a specific organization.
-
#get_countries_and_destinations_by_organization(organization) ⇒ Object
List of all destination countries available for this organization, including countries within a world experience.
-
#get_countries_and_statuses_by_organization(organization) ⇒ Object
Status of all countries.
-
#get_countries_by_organization(organization, incoming = {}) ⇒ Object
The countries resources provides a unique list of all of the countries for which an experience exists.
-
#get_settings_and_currencies_by_organization_id(organization_id) ⇒ Object
Returns currencies for a specific organization.
-
#get_settings_and_regions_and_countries_and_available_by_organization_id(organization_id) ⇒ Object
Returns the list of enabled countries based on the region settings for a specific organization.
-
#get_settings_and_regions_by_organization_id(organization_id) ⇒ Object
Returns the region settings associated to a specific organization.
-
#get_versions(incoming = {}) ⇒ Object
Provides visibility into recent changes of each object, including deletion.
-
#initialize(client) ⇒ Organizations
constructor
A new instance of Organizations.
-
#post(organization_form) ⇒ Object
Create a new organization.
-
#put_by_organization_id(organization_id, organization_put_form) ⇒ Object
Update or create an organization with the specified id.
- #put_countries_and_statuses_by_organization_and_country(organization, country, country_status_form) ⇒ Object
-
#put_settings_and_regions_by_organization_id_and_region(organization_id, region, region_setting_form) ⇒ Object
Updates or creates a region setting for a specific organization.
Constructor Details
#initialize(client) ⇒ Organizations
Returns a new instance of Organizations.
2482 2483 2484 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2482 def initialize(client) @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client) end |
Instance Method Details
#delete_by_organization_id(organization_id) ⇒ Object
Delete the organization with this id
2578 2579 2580 2581 2582 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2578 def delete_by_organization_id(organization_id) HttpClient::Preconditions.assert_class('organization_id', organization_id, String) r = @client.request("/organizations/#{CGI.escape(organization_id)}").delete nil end |
#delete_settings_and_regions_by_organization_id_and_region(organization_id, region) ⇒ Object
Removes the setting for this region for a specific organization
2616 2617 2618 2619 2620 2621 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2616 def delete_settings_and_regions_by_organization_id_and_region(organization_id, region) HttpClient::Preconditions.assert_class('organization_id', organization_id, String) HttpClient::Preconditions.assert_class('region', region, String) r = @client.request("/organizations/#{CGI.escape(organization_id)}/settings/regions/#{CGI.escape(region)}").delete nil end |
#get(incoming = {}) ⇒ Object
Search organizations. Always paginated.
2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2526 def get(incoming={}) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }), :name => (x = opts.delete(:name); x.nil? ? nil : HttpClient::Preconditions.assert_class('name', x, String)), :environment => (x = opts.delete(:environment); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Environment) ? x : ::Io::Flow::V0::Models::Environment.apply(x)).value), :parent => (x = opts.delete(:parent); x.nil? ? nil : HttpClient::Preconditions.assert_class('parent', x, String)), :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer), :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer), :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "name" : x), String) }.delete_if { |k, v| v.nil? } r = @client.request("/organizations").with_query(query).get r.map { |x| ::Io::Flow::V0::Models::Organization.new(x) } end |
#get_by_organization_id(organization_id) ⇒ Object
Returns information about a specific organization.
2563 2564 2565 2566 2567 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2563 def get_by_organization_id(organization_id) HttpClient::Preconditions.assert_class('organization_id', organization_id, String) r = @client.request("/organizations/#{CGI.escape(organization_id)}").get ::Io::Flow::V0::Models::Organization.new(r) end |
#get_countries_and_destinations_by_organization(organization) ⇒ Object
List of all destination countries available for this organization, including countries within a world experience.
2504 2505 2506 2507 2508 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2504 def get_countries_and_destinations_by_organization(organization) HttpClient::Preconditions.assert_class('organization', organization, String) r = @client.request("/#{CGI.escape(organization)}/countries/destinations").get r.map { |x| ::Io::Flow::V0::Models::Country.new(x) } end |
#get_countries_and_statuses_by_organization(organization) ⇒ Object
Status of all countries
2511 2512 2513 2514 2515 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2511 def get_countries_and_statuses_by_organization(organization) HttpClient::Preconditions.assert_class('organization', organization, String) r = @client.request("/#{CGI.escape(organization)}/countries/statuses").get r.map { |x| ::Io::Flow::V0::Models::CountryStatus.new(x) } end |
#get_countries_by_organization(organization, incoming = {}) ⇒ Object
The countries resources provides a unique list of all of the countries for which an experience exists. We generate this list of countries by iterating through all of the experience regions, and collecting all of the countries.
2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2489 def get_countries_by_organization(organization, incoming={}) HttpClient::Preconditions.assert_class('organization', organization, String) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)), :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)), :status => HttpClient::Preconditions.assert_class('status', (x = opts.delete(:status); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ExperienceStatus) ? x : ::Io::Flow::V0::Models::ExperienceStatus.apply(x)).value }, :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)) }.delete_if { |k, v| v.nil? } r = @client.request("/#{CGI.escape(organization)}/countries").with_query(query).get r.map { |x| ::Io::Flow::V0::Models::Country.new(x) } end |
#get_settings_and_currencies_by_organization_id(organization_id) ⇒ Object
Returns currencies for a specific organization.
2585 2586 2587 2588 2589 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2585 def get_settings_and_currencies_by_organization_id(organization_id) HttpClient::Preconditions.assert_class('organization_id', organization_id, String) r = @client.request("/organizations/#{CGI.escape(organization_id)}/settings/currencies").get r.map { |x| ::Io::Flow::V0::Models::Currency.new(x) } end |
#get_settings_and_regions_and_countries_and_available_by_organization_id(organization_id) ⇒ Object
Returns the list of enabled countries based on the region settings for a specific organization
2600 2601 2602 2603 2604 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2600 def get_settings_and_regions_and_countries_and_available_by_organization_id(organization_id) HttpClient::Preconditions.assert_class('organization_id', organization_id, String) r = @client.request("/organizations/#{CGI.escape(organization_id)}/settings/regions/countries/available").get r.map { |x| ::Io::Flow::V0::Models::Country.new(x) } end |
#get_settings_and_regions_by_organization_id(organization_id) ⇒ Object
Returns the region settings associated to a specific organization.
2592 2593 2594 2595 2596 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2592 def get_settings_and_regions_by_organization_id(organization_id) HttpClient::Preconditions.assert_class('organization_id', organization_id, String) r = @client.request("/organizations/#{CGI.escape(organization_id)}/settings/regions").get r.map { |x| ::Io::Flow::V0::Models::RegionSetting.new(x) } end |
#get_versions(incoming = {}) ⇒ Object
Provides visibility into recent changes of each object, including deletion
2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2549 def get_versions(incoming={}) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }), :organization => (x = opts.delete(:organization); x.nil? ? nil : HttpClient::Preconditions.assert_class('organization', x, Array).map { |v| HttpClient::Preconditions.assert_class('organization', v, String) }), :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer), :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer), :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String) }.delete_if { |k, v| v.nil? } r = @client.request("/organizations/versions").with_query(query).get r.map { |x| ::Io::Flow::V0::Models::OrganizationVersion.new(x) } end |
#post(organization_form) ⇒ Object
Create a new organization.
2542 2543 2544 2545 2546 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2542 def post(organization_form) (x = organization_form; x.is_a?(::Io::Flow::V0::Models::OrganizationForm) ? x : ::Io::Flow::V0::Models::OrganizationForm.new(x)) r = @client.request("/organizations").with_json(organization_form.to_json).post ::Io::Flow::V0::Models::Organization.new(r) end |
#put_by_organization_id(organization_id, organization_put_form) ⇒ Object
Update or create an organization with the specified id.
2570 2571 2572 2573 2574 2575 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2570 def put_by_organization_id(organization_id, organization_put_form) HttpClient::Preconditions.assert_class('organization_id', organization_id, String) (x = organization_put_form; x.is_a?(::Io::Flow::V0::Models::OrganizationPutForm) ? x : ::Io::Flow::V0::Models::OrganizationPutForm.new(x)) r = @client.request("/organizations/#{CGI.escape(organization_id)}").with_json(organization_put_form.to_json).put ::Io::Flow::V0::Models::Organization.new(r) end |
#put_countries_and_statuses_by_organization_and_country(organization, country, country_status_form) ⇒ Object
2517 2518 2519 2520 2521 2522 2523 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2517 def put_countries_and_statuses_by_organization_and_country(organization, country, country_status_form) HttpClient::Preconditions.assert_class('organization', organization, String) HttpClient::Preconditions.assert_class('country', country, String) (x = country_status_form; x.is_a?(::Io::Flow::V0::Models::CountryStatusForm) ? x : ::Io::Flow::V0::Models::CountryStatusForm.new(x)) r = @client.request("/#{CGI.escape(organization)}/countries/statuses/#{CGI.escape(country)}").with_json(country_status_form.to_json).put ::Io::Flow::V0::Models::CountryStatus.new(r) end |
#put_settings_and_regions_by_organization_id_and_region(organization_id, region, region_setting_form) ⇒ Object
Updates or creates a region setting for a specific organization
2607 2608 2609 2610 2611 2612 2613 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2607 def put_settings_and_regions_by_organization_id_and_region(organization_id, region, region_setting_form) HttpClient::Preconditions.assert_class('organization_id', organization_id, String) HttpClient::Preconditions.assert_class('region', region, String) (x = region_setting_form; x.is_a?(::Io::Flow::V0::Models::RegionSettingForm) ? x : ::Io::Flow::V0::Models::RegionSettingForm.new(x)) r = @client.request("/organizations/#{CGI.escape(organization_id)}/settings/regions/#{CGI.escape(region)}").with_json(region_setting_form.to_json).put ::Io::Flow::V0::Models::RegionSetting.new(r) end |