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.
2133 2134 2135 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2133 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
2213 2214 2215 2216 2217 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2213 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
2251 2252 2253 2254 2255 2256 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2251 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.
2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2161 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.
2198 2199 2200 2201 2202 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2198 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.
2154 2155 2156 2157 2158 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2154 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.
2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2140 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 } }.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.
2220 2221 2222 2223 2224 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2220 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
2235 2236 2237 2238 2239 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2235 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.
2227 2228 2229 2230 2231 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2227 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
2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2184 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.
2177 2178 2179 2180 2181 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2177 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.
2205 2206 2207 2208 2209 2210 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2205 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
2242 2243 2244 2245 2246 2247 2248 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 2242 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 |