Module: SimpleFeed::DSL
- Included in:
- Formatter
- Defined in:
- lib/simplefeed/dsl.rb,
lib/simplefeed/dsl/formatter.rb,
lib/simplefeed/dsl/activities.rb
Overview
This module offers a convenient DSL-based approach to manipulating user feeds.
Usage:
require 'simplefeed/dsl'
include SimpleFeed::DSL
with_activity(SimpleFeed.get(:newsfeed).activity(user_id)) do
store(value: 'hello', at: Time.now) fetch total_count unread_count end
Defined Under Namespace
Modules: Formatter
Classes: Activities
Constant Summary
collapse
- TIME_FORMAT =
'%Y-%m-%d %H:%M:%S.%L'
Class Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Class Attribute Details
.debug ⇒ Object
Returns the value of attribute debug.
22
23
24
|
# File 'lib/simplefeed/dsl.rb', line 22
def debug
@debug
end
|
.print_method ⇒ Object
Returns the value of attribute print_method.
70
71
72
|
# File 'lib/simplefeed/dsl/formatter.rb', line 70
def print_method
@print_method
end
|
Class Method Details
.debug? ⇒ Boolean
24
25
26
|
# File 'lib/simplefeed/dsl.rb', line 24
def debug?
self.debug
end
|
Instance Method Details
#_hr(char = '—') ⇒ Object
106
107
108
|
# File 'lib/simplefeed/dsl/formatter.rb', line 106
def _hr(char = '—')
char * 75 + "\n"
end
|
#_print(*args, **opts, &block) ⇒ Object
73
74
75
|
# File 'lib/simplefeed/dsl/formatter.rb', line 73
def _print(*args, **opts, &block)
send(SimpleFeed::DSL.print_method, *args, **opts, &block)
end
|
#_puts(*args) ⇒ Object
77
78
79
|
# File 'lib/simplefeed/dsl/formatter.rb', line 77
def _puts(*args)
send(SimpleFeed::DSL.print_method, "\n" + args.join)
end
|
#event(value, at = Time.now) ⇒ Object
34
35
36
|
# File 'lib/simplefeed/dsl.rb', line 34
def event(value, at = Time.now)
SimpleFeed::Event.new(value, at)
end
|
#field(label, value, sep = '') ⇒ Object
98
99
100
|
# File 'lib/simplefeed/dsl/formatter.rb', line 98
def field(label, value, sep = '')
_print field_label(label).italic + field_value(value).cyan.bold + sep
end
|
#field_label(text) ⇒ Object
81
82
83
|
# File 'lib/simplefeed/dsl/formatter.rb', line 81
def field_label(text)
sprintf ' %20s ', text
end
|
#field_value(value) ⇒ Object
87
88
89
90
91
92
93
94
95
96
|
# File 'lib/simplefeed/dsl/formatter.rb', line 87
def field_value(value)
case value
when Numeric
sprintf '%-20d', value
when Time
sprintf '%-30s', value.strftime(TIME_FORMAT)
else
sprintf '%-20s', value.to_s
end
end
|
110
111
112
113
114
|
# File 'lib/simplefeed/dsl/formatter.rb', line 110
def (message = nil)
_print(_hr.green.bold)
block_given? ? yield : _print(message.green.italic + "\n")
_print(_hr.green.bold)
end
|
#hr(char = '—') ⇒ Object
102
103
104
|
# File 'lib/simplefeed/dsl/formatter.rb', line 102
def hr(char = '—')
_print(_hr(char).magenta)
end
|
#with_activity(activity, **opts, &block) ⇒ Object
29
30
31
32
|
# File 'lib/simplefeed/dsl.rb', line 29
def with_activity(activity, **opts, &block)
opts.merge!({ context: self }) unless opts && opts[:context]
SimpleFeed::DSL::Activities.new(activity, **opts).instance_eval(&block)
end
|