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_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_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.
1584 1585 1586 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1584 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
1663 1664 1665 1666 1667 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1663 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
1701 1702 1703 1704 1705 1706 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1701 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.
1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1611 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.
1648 1649 1650 1651 1652 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1648 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.
1604 1605 1606 1607 1608 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1604 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_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.
1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1591 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)) }.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.
1670 1671 1672 1673 1674 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1670 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
1685 1686 1687 1688 1689 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1685 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.
1677 1678 1679 1680 1681 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1677 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
1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1634 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.
1627 1628 1629 1630 1631 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1627 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.
1655 1656 1657 1658 1659 1660 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1655 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_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
1692 1693 1694 1695 1696 1697 1698 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1692 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 |