Class: ApiReference::EvaluatePriceBody

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/api_reference/models/evaluate_price_body.rb

Overview

EvaluatePriceBody Model.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(timeframe_start:, timeframe_end:, customer_id: SKIP, external_customer_id: SKIP, filter: SKIP, grouping_keys:, metric_parameter_overrides: SKIP) ⇒ EvaluatePriceBody

Returns a new instance of EvaluatePriceBody.



82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/api_reference/models/evaluate_price_body.rb', line 82

def initialize(timeframe_start:, timeframe_end:, customer_id: SKIP,
               external_customer_id: SKIP, filter: SKIP, grouping_keys:,
               metric_parameter_overrides: SKIP)
  @customer_id = customer_id unless customer_id == SKIP
  @external_customer_id = external_customer_id unless external_customer_id == SKIP
  @timeframe_start = timeframe_start
  @timeframe_end = timeframe_end
  @filter = filter unless filter == SKIP
  @grouping_keys = grouping_keys unless grouping_keys == SKIP
  unless metric_parameter_overrides == SKIP
    @metric_parameter_overrides =
      metric_parameter_overrides
  end
end

Instance Attribute Details

#customer_idString

The ID of the customer to which this evaluation is scoped.

Returns:

  • (String)


15
16
17
# File 'lib/api_reference/models/evaluate_price_body.rb', line 15

def customer_id
  @customer_id
end

#external_customer_idString

The external customer ID of the customer to which this evaluation is scoped.

Returns:

  • (String)


20
21
22
# File 'lib/api_reference/models/evaluate_price_body.rb', line 20

def external_customer_id
  @external_customer_id
end

#filterString

A boolean computed property used to filter the underlying billable metric

Returns:

  • (String)


34
35
36
# File 'lib/api_reference/models/evaluate_price_body.rb', line 34

def filter
  @filter
end

#grouping_keysArray[String]

Properties (or computed properties) used to group the underlying billable metric

Returns:

  • (Array[String])


40
41
42
# File 'lib/api_reference/models/evaluate_price_body.rb', line 40

def grouping_keys
  @grouping_keys
end

#metric_parameter_overridesObject

Optional overrides for parameterized billable metric parameters. If the metric has parameter definitions and no overrides are provided, defaults will be used.

Returns:

  • (Object)


46
47
48
# File 'lib/api_reference/models/evaluate_price_body.rb', line 46

def metric_parameter_overrides
  @metric_parameter_overrides
end

#timeframe_endDateTime

The exclusive upper bound for event timestamps

Returns:

  • (DateTime)


28
29
30
# File 'lib/api_reference/models/evaluate_price_body.rb', line 28

def timeframe_end
  @timeframe_end
end

#timeframe_startDateTime

The inclusive lower bound for event timestamps

Returns:

  • (DateTime)


24
25
26
# File 'lib/api_reference/models/evaluate_price_body.rb', line 24

def timeframe_start
  @timeframe_start
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/api_reference/models/evaluate_price_body.rb', line 98

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  timeframe_start = if hash.key?('timeframe_start')
                      (DateTimeHelper.from_rfc3339(hash['timeframe_start']) if hash['timeframe_start'])
                    end
  timeframe_end = if hash.key?('timeframe_end')
                    (DateTimeHelper.from_rfc3339(hash['timeframe_end']) if hash['timeframe_end'])
                  end
  customer_id = hash.key?('customer_id') ? hash['customer_id'] : SKIP
  external_customer_id =
    hash.key?('external_customer_id') ? hash['external_customer_id'] : SKIP
  filter = hash.key?('filter') ? hash['filter'] : SKIP
  grouping_keys = hash['grouping_keys'] ||= 
  metric_parameter_overrides =
    hash.key?('metric_parameter_overrides') ? hash['metric_parameter_overrides'] : SKIP

  # Create object from extracted values.
  EvaluatePriceBody.new(timeframe_start: timeframe_start,
                        timeframe_end: timeframe_end,
                        customer_id: customer_id,
                        external_customer_id: external_customer_id,
                        filter: filter,
                        grouping_keys: grouping_keys,
                        metric_parameter_overrides: metric_parameter_overrides)
end

.namesObject

A mapping from model property names to API property names.



49
50
51
52
53
54
55
56
57
58
59
# File 'lib/api_reference/models/evaluate_price_body.rb', line 49

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['customer_id'] = 'customer_id'
  @_hash['external_customer_id'] = 'external_customer_id'
  @_hash['timeframe_start'] = 'timeframe_start'
  @_hash['timeframe_end'] = 'timeframe_end'
  @_hash['filter'] = 'filter'
  @_hash['grouping_keys'] = 'grouping_keys'
  @_hash['metric_parameter_overrides'] = 'metric_parameter_overrides'
  @_hash
end

.nullablesObject

An array for nullable fields



73
74
75
76
77
78
79
80
# File 'lib/api_reference/models/evaluate_price_body.rb', line 73

def self.nullables
  %w[
    customer_id
    external_customer_id
    filter
    metric_parameter_overrides
  ]
end

.optionalsObject

An array for optional fields



62
63
64
65
66
67
68
69
70
# File 'lib/api_reference/models/evaluate_price_body.rb', line 62

def self.optionals
  %w[
    customer_id
    external_customer_id
    filter
    grouping_keys
    metric_parameter_overrides
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



144
145
146
147
148
149
150
151
# File 'lib/api_reference/models/evaluate_price_body.rb', line 144

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} customer_id: #{@customer_id.inspect}, external_customer_id:"\
  " #{@external_customer_id.inspect}, timeframe_start: #{@timeframe_start.inspect},"\
  " timeframe_end: #{@timeframe_end.inspect}, filter: #{@filter.inspect}, grouping_keys:"\
  " #{@grouping_keys.inspect}, metric_parameter_overrides:"\
  " #{@metric_parameter_overrides.inspect}>"
end

#to_custom_timeframe_endObject



130
131
132
# File 'lib/api_reference/models/evaluate_price_body.rb', line 130

def to_custom_timeframe_end
  DateTimeHelper.to_rfc3339(timeframe_end)
end

#to_custom_timeframe_startObject



126
127
128
# File 'lib/api_reference/models/evaluate_price_body.rb', line 126

def to_custom_timeframe_start
  DateTimeHelper.to_rfc3339(timeframe_start)
end

#to_sObject

Provides a human-readable string representation of the object.



135
136
137
138
139
140
141
# File 'lib/api_reference/models/evaluate_price_body.rb', line 135

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} customer_id: #{@customer_id}, external_customer_id:"\
  " #{@external_customer_id}, timeframe_start: #{@timeframe_start}, timeframe_end:"\
  " #{@timeframe_end}, filter: #{@filter}, grouping_keys: #{@grouping_keys},"\
  " metric_parameter_overrides: #{@metric_parameter_overrides}>"
end