Class: Saro::Dat::DatCmsManagerBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/saro/dat/dat_cms_manager.rb

Instance Method Summary collapse

Constructor Details

#initializeDatCmsManagerBuilder

Returns a new instance of DatCmsManagerBuilder.



138
139
140
141
142
143
# File 'lib/saro/dat/dat_cms_manager.rb', line 138

def initialize
  @uri = "http://localhost:8088"
  @token = ""
  @verify_only = false
  @interval_seconds = 60
end

Instance Method Details

#buildObject



165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
# File 'lib/saro/dat/dat_cms_manager.rb', line 165

def build
  parsed = URI.parse(@uri)
  
  if parsed.path && parsed.path != '' && parsed.path != '/'
    raise ArgumentError, "uri must be path-less: #{@uri}"
  end
  if parsed.query
    raise ArgumentError, "uri must be query-less: #{@uri}"
  end

  path = @verify_only ? "/v1/certs/verify-only" : "/v1/certs"
  final_uri = "#{parsed.scheme}://#{parsed.host}:#{parsed.port}#{path}"

  DatCmsManager.new(
    uri: final_uri,
    token: @token,
    interval_seconds: @interval_seconds,
    verify_only: @verify_only
  )
end

#interval_seconds(interval_seconds) ⇒ Object



160
161
162
163
# File 'lib/saro/dat/dat_cms_manager.rb', line 160

def interval_seconds(interval_seconds)
  @interval_seconds = interval_seconds
  self
end

#token(token) ⇒ Object



150
151
152
153
# File 'lib/saro/dat/dat_cms_manager.rb', line 150

def token(token)
  @token = token
  self
end

#uri(uri) ⇒ Object



145
146
147
148
# File 'lib/saro/dat/dat_cms_manager.rb', line 145

def uri(uri)
  @uri = uri.delete_suffix('/')
  self
end

#verify_only(verify_only) ⇒ Object



155
156
157
158
# File 'lib/saro/dat/dat_cms_manager.rb', line 155

def verify_only(verify_only)
  @verify_only = verify_only
  self
end