rounders 0.5.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/Guardfile +1 -0
- data/lib/rounders/application.rb +16 -0
- data/lib/rounders/commands/global_command.rb +8 -2
- data/lib/rounders/commands/local_command.rb +7 -0
- data/lib/rounders/generators/app/app_generator.rb +1 -1
- data/lib/rounders/generators/app/templates/config/application.rb +5 -0
- data/lib/rounders/generators/app/templates/config/initializers/mail.rb +2 -2
- data/lib/rounders/generators/plugin/plugin_generator.rb +3 -1
- data/lib/rounders/mail.rb +8 -0
- data/lib/rounders/matchers/body.rb +1 -5
- data/lib/rounders/matchers/matcher.rb +0 -4
- data/lib/rounders/plugins/pluggable.rb +5 -1
- data/lib/rounders/rounder.rb +8 -2
- data/lib/rounders/stores/memory.rb +9 -0
- data/lib/rounders/stores/store.rb +25 -0
- data/lib/rounders/version.rb +1 -1
- data/lib/rounders.rb +11 -5
- data/rounders.gemspec +1 -0
- metadata +19 -2
- data/lib/rounders/brains/base.rb +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d43d6c063f0538d31a42c0e9fe432c561bd8595
|
4
|
+
data.tar.gz: 6d763ff7a6dd32348ab9b93d9bd03694894dfd02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 69fe8f516ebb23184ac4a8b017eb9661c533da9fdf8a7f55ae9460e904a21ab6333d686f065df9036fe4e6bf7fa7bc8391fbba9994bdcdb89b42ac56dbb44377
|
7
|
+
data.tar.gz: 4af7f4544a1b0aca2ddb86487de29c778e2f6f81ee4da4ad816cd162f9b29eed1db81a65e2c619ab8c8ee403be930f5dddeb21bd4a972f4b1d14b0453b83bd8c
|
data/Gemfile
CHANGED
data/Guardfile
CHANGED
@@ -7,6 +7,7 @@ group :red_green_refactor, halt_on_fail: true do
|
|
7
7
|
guard :rspec, cmd: 'bundle exec rspec --color --format documentation' do
|
8
8
|
watch(%r{^spec/.+_spec\.rb$})
|
9
9
|
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
10
|
+
watch(%r{^lib/rounders/generators/(.+)\.rb$}) { |_m| 'spec/cli/**/*_spec.rb' }
|
10
11
|
watch('spec/spec_helper.rb') { 'spec' }
|
11
12
|
end
|
12
13
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Rounders
|
2
|
+
class Application
|
3
|
+
extend Dry::Configurable
|
4
|
+
|
5
|
+
setting :load_path, [
|
6
|
+
'config/initializers/*.rb'
|
7
|
+
], reader: true
|
8
|
+
|
9
|
+
setting :app_path, 'app', reader: true
|
10
|
+
|
11
|
+
# logger is the logger that will be used for Rounders.logger
|
12
|
+
setting :logger, Rounders::Logger.get_logger, reader: true
|
13
|
+
|
14
|
+
setting :store, :memory, reader: true
|
15
|
+
end
|
16
|
+
end
|
@@ -1,7 +1,8 @@
|
|
1
1
|
module Rounders
|
2
2
|
module Commands
|
3
3
|
class GlobalCommand < Thor
|
4
|
-
class_option :help, type: :boolean, aliases: '-h', desc: 'Help message
|
4
|
+
class_option :help, type: :boolean, aliases: '-h', desc: 'Help message'
|
5
|
+
class_option :version, type: :boolean, desc: 'version'
|
5
6
|
package_name 'rounders'
|
6
7
|
|
7
8
|
register(
|
@@ -14,9 +15,14 @@ module Rounders
|
|
14
15
|
register(
|
15
16
|
Rounders::Generators::PluginGenerator,
|
16
17
|
'plugin',
|
17
|
-
'plugin <name>',
|
18
|
+
'plugin <name> <path>',
|
18
19
|
'Generate new rounders plugin'
|
19
20
|
)
|
21
|
+
|
22
|
+
desc 'version', 'Show rounders versoin'
|
23
|
+
def version
|
24
|
+
puts Rounders::VERSION
|
25
|
+
end
|
20
26
|
end
|
21
27
|
end
|
22
28
|
end
|
@@ -2,6 +2,7 @@ module Rounders
|
|
2
2
|
module Commands
|
3
3
|
class LocalCommand < Thor
|
4
4
|
class_option :help, type: :boolean, aliases: '-h', desc: 'Help message.'
|
5
|
+
class_option :version, type: :boolean, desc: 'version'
|
5
6
|
package_name 'rounders'
|
6
7
|
|
7
8
|
desc 'start', 'Start the Rounders'
|
@@ -9,6 +10,7 @@ module Rounders
|
|
9
10
|
method_option :dotenv, type: :boolean, default: false
|
10
11
|
method_option :daemon, type: :boolean, default: false
|
11
12
|
method_option :pid, type: :string
|
13
|
+
|
12
14
|
def start
|
13
15
|
rounder = Rounders::Rounder.new(options)
|
14
16
|
rounder.start
|
@@ -17,6 +19,11 @@ module Rounders
|
|
17
19
|
desc 'generate [Type]', 'Generate new code'
|
18
20
|
method_option aliases: '-g'
|
19
21
|
subcommand 'generate', SubCommands::Generate
|
22
|
+
|
23
|
+
desc 'version', 'Show rounders versoin'
|
24
|
+
def version
|
25
|
+
puts Rounders::VERSION
|
26
|
+
end
|
20
27
|
end
|
21
28
|
end
|
22
29
|
end
|
@@ -5,8 +5,8 @@ Rounders::Receivers::Mail.configure do |config|
|
|
5
5
|
config.mail_server_setting = {
|
6
6
|
address: 'imap.gmail.com',
|
7
7
|
port: 993,
|
8
|
-
user_name: ENV['
|
9
|
-
password: ENV['
|
8
|
+
user_name: ENV['USER_NAME'],
|
9
|
+
password: ENV['PASSWORD'],
|
10
10
|
enable_ssl: true
|
11
11
|
}
|
12
12
|
config.options = {
|
@@ -5,7 +5,9 @@ module Rounders
|
|
5
5
|
argument :path, type: :string, required: false
|
6
6
|
|
7
7
|
def set_destination_root
|
8
|
-
|
8
|
+
n = "rounders-#{underscored_name}"
|
9
|
+
p = path.nil? ? n : File.join(path, n)
|
10
|
+
self.destination_root = p
|
9
11
|
end
|
10
12
|
|
11
13
|
def create_directory
|
data/lib/rounders/mail.rb
CHANGED
@@ -24,10 +24,6 @@ module Rounders
|
|
24
24
|
Rounders.matchers[klass.symbol] = klass
|
25
25
|
end
|
26
26
|
|
27
|
-
def symbol
|
28
|
-
Util.infrect(name.split('::').last).underscore.to_sym
|
29
|
-
end
|
30
|
-
|
31
27
|
def build(conditions)
|
32
28
|
matchers = conditions.map do |key, pattern|
|
33
29
|
matcher = Rounders.matchers[key]
|
@@ -22,12 +22,16 @@ module Rounders
|
|
22
22
|
@directory_name ||= Util.infrect(feature_name.split('_').first).pluralize
|
23
23
|
end
|
24
24
|
|
25
|
+
def symbol
|
26
|
+
Util.infrect(name.split('::').last).underscore.to_sym
|
27
|
+
end
|
28
|
+
|
25
29
|
def load_path
|
26
30
|
@load_path ||= File.join(Rounders::APP_PATH, directory_name)
|
27
31
|
end
|
28
32
|
|
29
33
|
def load_plugins
|
30
|
-
Pathname.glob("#{load_path}
|
34
|
+
Pathname.glob("#{load_path}/**/*.rb").each do |plugin|
|
31
35
|
begin
|
32
36
|
Rounders.logger.info "load #{plugin.expand_path}"
|
33
37
|
require_relative plugin.expand_path
|
data/lib/rounders/rounder.rb
CHANGED
@@ -14,6 +14,10 @@ module Rounders
|
|
14
14
|
polling
|
15
15
|
end
|
16
16
|
|
17
|
+
def store
|
18
|
+
@store ||= Rounders.stores[Rounders::Application.store].new
|
19
|
+
end
|
20
|
+
|
17
21
|
private
|
18
22
|
|
19
23
|
def bundle
|
@@ -40,8 +44,10 @@ module Rounders
|
|
40
44
|
end
|
41
45
|
|
42
46
|
def load_config
|
43
|
-
|
44
|
-
|
47
|
+
Rounders::Application.load_path.each do |path|
|
48
|
+
Pathname.glob(File.join(Dir.pwd, path)).each do |config|
|
49
|
+
require_relative config
|
50
|
+
end
|
45
51
|
end
|
46
52
|
end
|
47
53
|
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Rounders
|
2
|
+
module Stores
|
3
|
+
class Store
|
4
|
+
include Rounders::Plugins::Pluggable
|
5
|
+
|
6
|
+
def [](key)
|
7
|
+
data[key]
|
8
|
+
end
|
9
|
+
|
10
|
+
def []=(key, value)
|
11
|
+
data[key] = value
|
12
|
+
end
|
13
|
+
|
14
|
+
def data
|
15
|
+
raise 'Called abstract method: data'
|
16
|
+
end
|
17
|
+
|
18
|
+
class << self
|
19
|
+
def inherited(klass)
|
20
|
+
Rounders.stores[klass.symbol] = klass
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/rounders/version.rb
CHANGED
data/lib/rounders.rb
CHANGED
@@ -8,16 +8,21 @@ require 'mail'
|
|
8
8
|
require 'dotenv'
|
9
9
|
|
10
10
|
require 'rounders/logger'
|
11
|
+
require 'rounders/application'
|
11
12
|
require 'rounders/util'
|
12
13
|
|
13
14
|
module Rounders
|
14
15
|
# Your code goes here...
|
15
16
|
CONFIG_DIR_PATH = File.join(Dir.pwd, 'config').freeze
|
16
|
-
APP_PATH = File.join(Dir.pwd,
|
17
|
+
APP_PATH = File.join(Dir.pwd, Rounders::Application.app_path).freeze
|
17
18
|
|
18
19
|
class << self
|
19
20
|
attr_accessor :logger
|
20
21
|
|
22
|
+
def global?
|
23
|
+
!Pathname(Rounders::APP_PATH).exist?
|
24
|
+
end
|
25
|
+
|
21
26
|
def handlers
|
22
27
|
@_handlers ||= []
|
23
28
|
end
|
@@ -30,12 +35,12 @@ module Rounders
|
|
30
35
|
@_receivers ||= []
|
31
36
|
end
|
32
37
|
|
33
|
-
def
|
34
|
-
|
38
|
+
def stores
|
39
|
+
@_stores ||= {}
|
35
40
|
end
|
36
41
|
end
|
37
42
|
|
38
|
-
self.logger =
|
43
|
+
self.logger = Rounders::Application.logger
|
39
44
|
end
|
40
45
|
|
41
46
|
require 'rounders/mail'
|
@@ -53,7 +58,8 @@ require 'rounders/commander'
|
|
53
58
|
require 'rounders/receivers/receiver'
|
54
59
|
require 'rounders/receivers/mail'
|
55
60
|
require 'rounders/rounder'
|
56
|
-
require 'rounders/
|
61
|
+
require 'rounders/stores/store'
|
62
|
+
require 'rounders/stores/memory'
|
57
63
|
|
58
64
|
require 'rounders/generators/base'
|
59
65
|
require 'rounders/generators/app/app_generator'
|
data/rounders.gemspec
CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_development_dependency 'bundler'
|
23
23
|
spec.add_development_dependency 'rake'
|
24
24
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
25
|
+
spec.add_development_dependency 'aruba'
|
25
26
|
spec.add_development_dependency 'simplecov'
|
26
27
|
spec.add_development_dependency 'coveralls'
|
27
28
|
spec.add_development_dependency 'guard'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rounders
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- akira.takahashi
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: aruba
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: simplecov
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -241,7 +255,7 @@ files:
|
|
241
255
|
- Rakefile
|
242
256
|
- bin/rounders
|
243
257
|
- lib/rounders.rb
|
244
|
-
- lib/rounders/
|
258
|
+
- lib/rounders/application.rb
|
245
259
|
- lib/rounders/commander.rb
|
246
260
|
- lib/rounders/commands/global_command.rb
|
247
261
|
- lib/rounders/commands/local_command.rb
|
@@ -255,6 +269,7 @@ files:
|
|
255
269
|
- lib/rounders/generators/app/templates/app/handlers/.gitkeep
|
256
270
|
- lib/rounders/generators/app/templates/app/matchers/.gitkeep
|
257
271
|
- lib/rounders/generators/app/templates/app/receivers/.gitkeep
|
272
|
+
- lib/rounders/generators/app/templates/config/application.rb
|
258
273
|
- lib/rounders/generators/app/templates/config/initializers/mail.rb
|
259
274
|
- lib/rounders/generators/app/templates/gitignore
|
260
275
|
- lib/rounders/generators/app/templates/spec/handlers/.gitkeep
|
@@ -301,6 +316,8 @@ files:
|
|
301
316
|
- lib/rounders/receivers/mail.rb
|
302
317
|
- lib/rounders/receivers/receiver.rb
|
303
318
|
- lib/rounders/rounder.rb
|
319
|
+
- lib/rounders/stores/memory.rb
|
320
|
+
- lib/rounders/stores/store.rb
|
304
321
|
- lib/rounders/util.rb
|
305
322
|
- lib/rounders/version.rb
|
306
323
|
- rounders.gemspec
|