Class: Scriptorium

Inherits:
Object
  • Object
show all
Defined in:
lib/scriptorium.rb,
lib/skeleton.rb,
lib/scriptorium/reddit.rb,
lib/scriptorium/version.rb

Overview

Main Scriptorium class that provides backward compatibility

Defined Under Namespace

Modules: Contract, Exceptions, Helpers Classes: API, BannerSVG, Post, Reddit, Repo, StandardFiles, Theme, UI, View, Widget

Constant Summary collapse

VERSION =
"0.7.2"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(testmode: false) ⇒ Scriptorium

Returns a new instance of Scriptorium.



27
28
29
# File 'lib/scriptorium.rb', line 27

def initialize(testmode: false)
  @api = Scriptorium::API.new(testmode: testmode)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, **kwargs, &block) ⇒ Object

Delegate all the main operations to the API



32
33
34
35
36
37
38
# File 'lib/scriptorium.rb', line 32

def method_missing(method, *args, **kwargs, &block)
  if @api.respond_to?(method)
    @api.send(method, *args, **kwargs, &block)
  else
    super
  end
end

Instance Attribute Details

#apiObject (readonly)

Keep the API accessible for advanced users



45
46
47
# File 'lib/scriptorium.rb', line 45

def api
  @api
end

Instance Method Details

#respond_to_missing?(method, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/scriptorium.rb', line 40

def respond_to_missing?(method, include_private = false)
  @api.respond_to?(method) || super
end