Class: TelestreamCloud::Factory

Inherits:
Base
  • Object
show all
Includes:
Updatable
Defined in:
lib/telestream_cloud/resources/factory.rb

Constant Summary

Constants included from Router

Router::VAR_PATTERN

Instance Attribute Summary collapse

Attributes inherited from Base

#attributes, #errors

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Updatable

#save, #save!, #update, #update_attribute, #update_attributes, #update_attributes!

Methods inherited from Base

#changed?, #id, #id=, #inspect, #new?, #reload, sti_name, #to_json

Methods included from Finders

included

Methods included from Builders

#create, #create!, included

Methods included from Router

included, #replace_pattern_with_self_variables

Constructor Details

#initialize(attributes = {}) ⇒ Factory

Returns a new instance of Factory.



7
8
9
10
11
12
# File 'lib/telestream_cloud/resources/factory.rb', line 7

def initialize(attributes={})
  super(attributes)
  connection_params = TelestreamCloud.connection.to_hash.merge!(:factory_id => id)
  @connection = Connection.new(connection_params)
  TelestreamCloud.factories[id] = self
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_symbol, *arguments) ⇒ Object



59
60
61
62
# File 'lib/telestream_cloud/resources/factory.rb', line 59

def method_missing(method_symbol, *arguments)
  lazy_load
  super
end

Instance Attribute Details

#connectionObject (readonly)

Returns the value of attribute connection.



5
6
7
# File 'lib/telestream_cloud/resources/factory.rb', line 5

def connection
  @connection
end

Class Method Details

.connectionObject



16
17
18
# File 'lib/telestream_cloud/resources/factory.rb', line 16

def connection
  TelestreamCloud.connection
end

Instance Method Details

#encodingsObject



51
52
53
# File 'lib/telestream_cloud/resources/factory.rb', line 51

def encodings
  EncodingScope.new(self)
end

#eu?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/telestream_cloud/resources/factory.rb', line 33

def eu?
  region == "eu"
end

#https_urlObject



27
28
29
30
31
# File 'lib/telestream_cloud/resources/factory.rb', line 27

def https_url
  uri = URI.parse(url)
  uri.scheme = "https"
  uri.to_s
end

#profilesObject



55
56
57
# File 'lib/telestream_cloud/resources/factory.rb', line 55

def profiles
  ProfileScope.new(self)
end

#regionObject



41
42
43
44
45
# File 'lib/telestream_cloud/resources/factory.rb', line 41

def region
  return 'eu' if connection.api_host == TelestreamCloud::EU_API_HOST
  return 'us' if connection.api_host == TelestreamCloud::US_API_HOST
  return 'gce' if connection.api_host == TelestreamCloud::GCE_API_HOST
end

#us?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/telestream_cloud/resources/factory.rb', line 37

def us?
  region == "us"
end

#videosObject



47
48
49
# File 'lib/telestream_cloud/resources/factory.rb', line 47

def videos
  VideoScope.new(self)
end