Class: Affilinet::FluentInterfaceBase

Inherits:
Object
  • Object
show all
Extended by:
Affilinet::FluentInterface::ClassMethods
Includes:
Affilinet::FluentInterface::InstanceMethods
Defined in:
lib/affilinet/fluent_interface.rb

Direct Known Subclasses

Category, Product, Property, Search, Shop

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Affilinet::FluentInterface::ClassMethods

add_attribute, add_attributes, set_endpoint

Constructor Details

#initialize(client) ⇒ FluentInterfaceBase

Returns a new instance of FluentInterfaceBase.



37
38
39
40
# File 'lib/affilinet/fluent_interface.rb', line 37

def initialize(client)
  @client = client
  @criteria = {}
end

Instance Attribute Details

#clientObject

Returns the value of attribute client.



35
36
37
# File 'lib/affilinet/fluent_interface.rb', line 35

def client
  @client
end

#criteriaObject

Returns the value of attribute criteria.



35
36
37
# File 'lib/affilinet/fluent_interface.rb', line 35

def criteria
  @criteria
end

#endpointObject

Returns the value of attribute endpoint.



35
36
37
# File 'lib/affilinet/fluent_interface.rb', line 35

def endpoint
  @endpoint
end

Instance Method Details

#allObject



42
43
44
# File 'lib/affilinet/fluent_interface.rb', line 42

def all
  @client.get endpoint, to_query
end

#firstObject



46
47
48
49
50
51
52
# File 'lib/affilinet/fluent_interface.rb', line 46

def first
  if (@criteria[:current_page] && @criteria[:page_size])
    new_current_page = (@criteria[:current_page] - 1) * @criteria[:page_size] + 1
    return current_page(new_current_page).page_size(1).all
  end
  all
end

#spawnObject



54
55
56
# File 'lib/affilinet/fluent_interface.rb', line 54

def spawn
  clone
end

#to_queryObject



58
59
60
# File 'lib/affilinet/fluent_interface.rb', line 58

def to_query
  Affilinet::Middleware::Mash.join_arrays Affilinet::Middleware::Mash.camelize_keys @criteria
end