fc-reminder 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 46f8b9493f347fb82cd5b4c1b564fae30bf9dec2
4
- data.tar.gz: 99d6eba3ca72a76bb1ad00f25dee554955a9e564
3
+ metadata.gz: cca159110a9959b8f055afa009ff97423fb341ea
4
+ data.tar.gz: 6609136ee279419659d6a0418412b10c6e56737d
5
5
  SHA512:
6
- metadata.gz: 2df74391defed1413c731f4f43119ecf6bff31b602e4ca94a9e749f0df1848fc028630df1d4364a6a30f188717e4c107fd92fd74c27fe10244a9bb76b6aa7304
7
- data.tar.gz: 0a2af39818d43b8c228ee91abf1779156887a8c15ff829cfda93f3830adcaf246d4c707ae5d1b735a6e86a19fe61e1e12ce57344862630ba93efbc09fde45f67
6
+ metadata.gz: 0fe3acfc2161d6b9e401202077c8cc0b7ba1adb7411ca19a1f8139204ab387e22e63db429035ebe0c0156d20b89cd5f8c24f5923240ed99e7d7cc24e0c6cf915
7
+ data.tar.gz: 344c80303c1c06a00bf1d5ab77a6404524c9acde24160ed584dc9fda7c69f7f9eb01a38a3c2ac6ce6a776b438b2e6afdfb0a8039503f773e4306434181dc56e7
@@ -1,4 +1,10 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 2.0.0
4
- - 2.1.0-preview1
4
+ - 2.1.0
5
+ - ruby-head
6
+ - rbx
7
+ matrix:
8
+ allow_failures:
9
+ - rvm: ruby-head
10
+ fast_finish: true
data/Gemfile CHANGED
@@ -1,3 +1,14 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
+ gem 'rake'
4
+
5
+ group :test do
6
+ gem 'rspec', '~> 3.0.0.beta1'
7
+ gem 'fakeweb'
8
+ end
9
+
10
+ platforms :rbx do
11
+ gem 'rubysl', '~> 2.0'
12
+ end
13
+
3
14
  gemspec
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2013, Kamil Kieliszczyk
1
+ Copyright (c) 2013-2014, Kamil Kieliszczyk
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without modification,
data/README.md CHANGED
@@ -72,6 +72,6 @@ Usage: fc-reminder [options] start|stop|restart|run
72
72
 
73
73
  ## Copyright and License
74
74
 
75
- Copyright (c) 2013, Kamil Kieliszczyk and Contributors. All Rights Reserved.
75
+ Copyright (c) 2013-2014, Kamil Kieliszczyk and Contributors. All Rights Reserved.
76
76
 
77
77
  This project is licenced under the [BSD 3-Clause License](LICENSE).
data/Rakefile CHANGED
@@ -1,9 +1,5 @@
1
1
  require 'rubygems'
2
2
  require 'bundler/gem_tasks'
3
-
4
- Bundler.setup(:default, :development)
5
-
6
- require 'rspec/core'
7
3
  require 'rspec/core/rake_task'
8
4
 
9
5
  RSpec::Core::RakeTask.new(:spec) do |spec|
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
7
7
  spec.authors = ['Kamil Kieliszczyk']
8
8
  spec.email = ['kamil@kieliszczyk.net']
9
9
  spec.description = 'Simple reminder about an upcoming football game'
10
- spec.summary = 'Simple reminder about an upcoming football game'
10
+ spec.summary = spec.description
11
11
  spec.homepage = 'https://github.com/kiela/fc-reminder'
12
12
 
13
13
  spec.platform = Gem::Platform::RUBY
@@ -25,7 +25,4 @@ Gem::Specification.new do |spec|
25
25
  spec.add_dependency 'clockwork', '~> 0.7.0'
26
26
 
27
27
  spec.add_development_dependency 'bundler', '~> 1.3'
28
- spec.add_development_dependency 'rake'
29
- spec.add_development_dependency 'rspec', '~> 3.0.0.beta1'
30
- spec.add_development_dependency 'fakeweb'
31
28
  end
@@ -3,7 +3,7 @@ module FCReminder
3
3
  class Base
4
4
  attr_accessor :config
5
5
 
6
- def send(recipient: _, data: _)
6
+ def send(recipient, data)
7
7
  end
8
8
  end
9
9
  end
@@ -3,7 +3,7 @@ require 'twilio-ruby'
3
3
  module FCReminder
4
4
  module Gateways
5
5
  class Twilio < Base
6
- def send(recipient: recipient, data: data)
6
+ def send(recipient, data)
7
7
  client = ::Twilio::REST::Client.new(
8
8
  config[:account_sid],
9
9
  config[:auth_token]
@@ -15,7 +15,7 @@ module FCReminder
15
15
  ""
16
16
  end
17
17
 
18
- def run(team_name: _)
18
+ def run(team_name)
19
19
  Hash.new
20
20
  end
21
21
  end
@@ -7,14 +7,14 @@ module FCReminder
7
7
  "#{BASE_URL}/soccer/#{Time.now.strftime("%Y-%m-%d")}"
8
8
  end
9
9
 
10
- def run(team_name: team_name)
11
- cell = search(page: client.get(url), team_name: team_name.downcase)
10
+ def run(team_name)
11
+ cell = search(client.get(url), team_name.downcase)
12
12
  cell.nil? ? super : prepare_output_from(cell)
13
13
  end
14
14
 
15
15
  private
16
16
 
17
- def search(page: page, team_name: team_name)
17
+ def search(page, team_name)
18
18
  page.search(".content table.league-table td").find do |td|
19
19
  has_team?(td) and team_match?(td, team_name)
20
20
  end
@@ -30,12 +30,12 @@ module FCReminder
30
30
 
31
31
  def prepare_output_from(cell)
32
32
  r = Hash.new
33
- r.merge!(fetch(attrs: league_attrs, source: cell.parent.parent))
34
- r.merge!(fetch(attrs: match_attrs, source: cell.parent))
33
+ r.merge!(fetch(league_attrs, cell.parent.parent))
34
+ r.merge!(fetch(match_attrs, cell.parent))
35
35
  r
36
36
  end
37
37
 
38
- def fetch(attrs: attrs, source: source)
38
+ def fetch(attrs, source)
39
39
  attrs.inject({}) { |h,(k,v)| h[k] = source.search(v).text.strip; h }
40
40
  end
41
41
 
@@ -10,7 +10,7 @@ module FCReminder
10
10
  end
11
11
 
12
12
  def provider=(obj)
13
- if obj.kind_of? Providers::Base
13
+ if obj.kind_of? FCReminder::Providers::Base
14
14
  @provider = obj
15
15
  else
16
16
  raise 'Provider should inherits from FCReminder::Providers::Base'
@@ -18,7 +18,7 @@ module FCReminder
18
18
  end
19
19
 
20
20
  def gateway=(obj)
21
- if obj.kind_of? Gateways::Base
21
+ if obj.kind_of? FCReminder::Gateways::Base
22
22
  @gateway = obj
23
23
  else
24
24
  raise 'Gateway should inherits from FCReminder::Gateways::Base'
@@ -27,8 +27,8 @@ module FCReminder
27
27
 
28
28
  def run(&customization_block)
29
29
  eval_block &customization_block
30
- result = provider.run(team_name: team_name)
31
- gateway.send(recipient: recipient, data: result) unless result.empty?
30
+ result = provider.run(team_name)
31
+ gateway.send(recipient, result) unless result.empty?
32
32
  end
33
33
 
34
34
  private
@@ -48,9 +48,10 @@ module FCReminder
48
48
  end
49
49
 
50
50
  def process_name(options)
51
- arr = [PROCESS_NAME]
52
- arr.push(options[:identifier] ? options[:identifier] : options[:team])
53
- arr.join('.')
51
+ [
52
+ PROCESS_NAME,
53
+ (options[:identifier] ? options[:identifier] : options[:team])
54
+ ].join('.')
54
55
  end
55
56
 
56
57
  def daemonize_options(options)
@@ -1,3 +1,3 @@
1
1
  module FCReminder
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
@@ -5,7 +5,7 @@ describe FCReminder::Gateways::Base do
5
5
 
6
6
  context "setters" do
7
7
  it "allows to set config attribute" do
8
- config = {foo: 'bar'}
8
+ config = { foo: 'bar' }
9
9
  expect(gateway.config).to be_nil
10
10
  gateway.config = config
11
11
  expect(gateway.config).to eq(config)
@@ -22,8 +22,8 @@ describe FCReminder::Providers::Base do
22
22
 
23
23
  context "#run" do
24
24
  it "returns empty instance of Hash" do
25
- expect(provider.run(team_name: team_name)).to be_instance_of(Hash)
26
- expect(provider.run(team_name: team_name)).to be_empty
25
+ expect(provider.run(team_name)).to be_instance_of(Hash)
26
+ expect(provider.run(team_name)).to be_empty
27
27
  end
28
28
  end
29
29
  end
@@ -18,25 +18,25 @@ describe FCReminder::Providers::LiveScore do
18
18
 
19
19
  context "#run" do
20
20
  context "there is no match that day" do
21
- before(:each) { fake_page_without_match(provider.url) }
21
+ before { fake_page_without_match(provider.url) }
22
22
 
23
23
  it "returns default value" do
24
- default_value = FCReminder::Providers::Base.new.run(team_name: team_name)
25
- expect(provider.run(team_name: team_name)).to eq(default_value)
24
+ default_value = FCReminder::Providers::Base.new.run(team_name)
25
+ expect(provider.run(team_name)).to eq(default_value)
26
26
  end
27
27
  end
28
28
 
29
29
  context "there is a match that day" do
30
- before(:each) { fake_page_with_match(provider.url) }
30
+ before { fake_page_with_match(provider.url) }
31
31
 
32
32
  it "returns non-empty instance of Hash" do
33
- expect(provider.run(team_name: team_name)).to be_an_instance_of(Hash)
34
- expect(provider.run(team_name: team_name)).not_to be_empty
33
+ expect(provider.run(team_name)).to be_an_instance_of(Hash)
34
+ expect(provider.run(team_name)).not_to be_empty
35
35
  end
36
36
 
37
37
  %w(country league time team1 team2).each do |attr|
38
38
  it "has return value which includes #{attr}" do
39
- expect(provider.run(team_name: team_name)).to have_key(attr.to_sym)
39
+ expect(provider.run(team_name)).to have_key(attr.to_sym)
40
40
  end
41
41
  end
42
42
  end
@@ -74,8 +74,8 @@ describe FCReminder::Reminder do
74
74
 
75
75
  context "#run" do
76
76
  subject(:reminder) { FCReminder.build }
77
- before(:each) { fake_page_with_match(reminder.provider.url) }
78
- before(:each) { reminder.gateway.stub(:send) {} }
77
+ before { fake_page_with_match(reminder.provider.url) }
78
+ before { allow(reminder.gateway).to receive(:send) }
79
79
 
80
80
  it "allows to set consumer data by using a block" do
81
81
  expect(reminder.team_name).to be_nil
@@ -92,8 +92,8 @@ describe FCReminder::Reminder do
92
92
  end
93
93
 
94
94
  it "calls provider for data" do
95
- reminder.provider.stub(:run) { Hash.new }
96
- expect(reminder.provider).to receive(:run).with(team_name: team_name)
95
+ allow(reminder.provider).to receive(:run).and_return(Hash.new)
96
+ expect(reminder.provider).to receive(:run).with(team_name)
97
97
 
98
98
  reminder.team_name = team_name
99
99
  reminder.recipient = recipient
@@ -102,11 +102,8 @@ describe FCReminder::Reminder do
102
102
 
103
103
  it "calls gateway for sending message" do
104
104
  result = {foo: 'bar'}
105
- reminder.provider.stub(:run) { result }
106
- expect(reminder.gateway).to receive(:send).with(
107
- recipient: recipient,
108
- data: result
109
- )
105
+ allow(reminder.provider).to receive(:run).and_return(result)
106
+ expect(reminder.gateway).to receive(:send).with(recipient, result)
110
107
 
111
108
  reminder.team_name = team_name
112
109
  reminder.recipient = recipient
@@ -29,32 +29,32 @@ describe FCReminder::Runner do
29
29
 
30
30
  context "#start" do
31
31
  it "sets reminder" do
32
- options = {daemon: false}
32
+ options = { daemon: false }
33
33
  runner = FCReminder::Runner.new(options)
34
34
 
35
- Clockwork.stub(:every) { |&block| block.call }
36
- runner.reminder.stub(:run) {}
37
- runner.stub(:run) {}
35
+ allow(Clockwork).to receive(:every) { |&block| block.call }
36
+ allow(runner.reminder).to receive(:run)
37
+ allow(runner).to receive(:run)
38
38
 
39
39
  expect(runner.reminder).to receive(:run)
40
40
  runner.start
41
41
  end
42
42
 
43
43
  it "starts normal process" do
44
- options = {daemon: false}
44
+ options = { daemon: false }
45
45
  runner = FCReminder::Runner.new(options)
46
46
 
47
- runner.stub(:run) {}
47
+ allow(runner).to receive(:run)
48
48
 
49
49
  expect(runner).to receive(:run)
50
50
  runner.start
51
51
  end
52
52
 
53
53
  it "starts daemon process" do
54
- options = {daemon: true}
54
+ options = { daemon: true }
55
55
  runner = FCReminder::Runner.new(options)
56
56
 
57
- runner.stub(:daemonize) {}
57
+ allow(runner).to receive(:daemonize)
58
58
 
59
59
  expect(runner).to receive(:daemonize)
60
60
  runner.start
@@ -4,3 +4,11 @@ $:.unshift File.join(GEM_ROOT, "lib")
4
4
  require 'fc-reminder'
5
5
  Dir[File.join(GEM_ROOT, "spec", "support", "**/*.rb")].each { |f| require f }
6
6
 
7
+ RSpec.configure do |config|
8
+ config.expect_with :rspec do |c|
9
+ c.syntax = :expect
10
+ end
11
+
12
+ config.filter_run focus: true
13
+ config.run_all_when_everything_filtered = true
14
+ end
metadata CHANGED
@@ -1,141 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fc-reminder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kamil Kieliszczyk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-03 00:00:00.000000000 Z
11
+ date: 2014-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mechanize
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.7.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.7.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: twilio-ruby
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: 3.11.4
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 3.11.4
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: mixlib-cli
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 1.3.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 1.3.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: daemons
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: 1.1.9
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 1.1.9
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: clockwork
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: 0.7.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.7.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '1.3'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.3'
97
- - !ruby/object:Gem::Dependency
98
- name: rake
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - '>='
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: rspec
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ~>
116
- - !ruby/object:Gem::Version
117
- version: 3.0.0.beta1
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ~>
123
- - !ruby/object:Gem::Version
124
- version: 3.0.0.beta1
125
- - !ruby/object:Gem::Dependency
126
- name: fakeweb
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - '>='
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
97
  description: Simple reminder about an upcoming football game
140
98
  email:
141
99
  - kamil@kieliszczyk.net
@@ -144,9 +102,9 @@ executables:
144
102
  extensions: []
145
103
  extra_rdoc_files: []
146
104
  files:
147
- - .gitignore
148
- - .rspec
149
- - .travis.yml
105
+ - ".gitignore"
106
+ - ".rspec"
107
+ - ".travis.yml"
150
108
  - Gemfile
151
109
  - LICENSE
152
110
  - README.md
@@ -182,17 +140,17 @@ require_paths:
182
140
  - lib
183
141
  required_ruby_version: !ruby/object:Gem::Requirement
184
142
  requirements:
185
- - - '>='
143
+ - - ">="
186
144
  - !ruby/object:Gem::Version
187
145
  version: '0'
188
146
  required_rubygems_version: !ruby/object:Gem::Requirement
189
147
  requirements:
190
- - - '>='
148
+ - - ">="
191
149
  - !ruby/object:Gem::Version
192
150
  version: 1.3.6
193
151
  requirements: []
194
152
  rubyforge_project:
195
- rubygems_version: 2.1.11
153
+ rubygems_version: 2.2.0
196
154
  signing_key:
197
155
  specification_version: 4
198
156
  summary: Simple reminder about an upcoming football game