fc-reminder 0.1.1 → 0.1.2

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 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