Module: Putter

Includes:
Errors
Defined in:
lib/putter.rb,
lib/putter/version.rb,
lib/putter/watcher.rb,
lib/putter/follower.rb,
lib/putter/method_proxy.rb,
lib/putter/watcher_data.rb,
lib/putter/configuration.rb,
lib/putter/follower_data.rb,
lib/putter/method_creator.rb,
lib/putter/print_strategy.rb,
lib/putter/instance_follower.rb,
lib/putter/proxy_method_data.rb

Defined Under Namespace

Modules: InstanceFollower, MethodCreator, PrintStrategy, Watcher Classes: Configuration, Follower, FollowerData, MethodProxy, ProxyMethodData, WatcherData

Constant Summary collapse

VERSION =
"0.6.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject



33
34
35
# File 'lib/putter.rb', line 33

def configuration
  @configuration ||= Configuration.new
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



37
38
39
# File 'lib/putter.rb', line 37

def configure
  yield configuration
end

.follow(obj, options = {}) ⇒ Object



21
22
23
24
25
# File 'lib/putter.rb', line 21

def follow(obj, options={})
  with_production_check do
    Putter::Follower.new(obj, options)
  end
end

.reset_configurationObject



41
42
43
# File 'lib/putter.rb', line 41

def reset_configuration
  @configuration = Configuration.new
end

.watch(obj, options = {}) ⇒ Object



27
28
29
30
31
# File 'lib/putter.rb', line 27

def watch(obj, options={})
  with_production_check do
    Putter::Watcher.watch(obj, options)
  end
end

.with_production_checkObject



45
46
47
48
49
50
51
# File 'lib/putter.rb', line 45

def with_production_check
  if !configuration.allow_production && defined?(Rails) && Rails.env == "production"
    puts "Putter cannot be run in production unless the 'allow_production' option is configured to true".colorize(:red)
  else
    yield
  end
end