isitopencoffeetomorrow 0.1.0 → 0.2.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.
data/Gemfile CHANGED
@@ -17,7 +17,7 @@ gem 'foreman'
17
17
  group :development do
18
18
  gem "shoulda", ">= 0"
19
19
  gem "rdoc", "~> 3.12"
20
- gem "bundler", "~> 1.1.0"
20
+ gem "bundler", "~> 1.2"
21
21
  gem "jeweler", "~> 1.8.4"
22
22
  gem "simplecov", ">= 0"
23
23
  end
data/README.md ADDED
@@ -0,0 +1,33 @@
1
+ Is It Open Coffee Tomorrow?
2
+ ===========================
3
+
4
+ What is this?
5
+ -------------
6
+
7
+ A simple, embedded sinatra util-a-joke app to show when an Open Coffee event is
8
+ happening.
9
+
10
+ How?
11
+ ----
12
+
13
+ To see a real usage visit https://github.com/ecoffey/isitbocctomorrow
14
+
15
+ The app assumes that the Open Coffee event happens every two weeks, but
16
+ lets you configure the seed date, hash tag, official site, and time
17
+ zone.
18
+
19
+ Deploy To Heroku
20
+ ----------------
21
+
22
+ ```
23
+ $ mkdir my-shiny-util-a-joke-app && cd my-shiny-util-a-joke-app
24
+ $ gem install heroku
25
+ $ heroku login
26
+ $ heroku create
27
+ $ echo -e "source :rubygems\n\ngem 'isitopencoffeetomorrow'"
28
+ $ bundle
29
+ $ git init
30
+ $ git add .
31
+ $ git commit -m 'Yay util-a-joke!'
32
+ $ git push heroku master
33
+ ```
data/README.rdoc CHANGED
@@ -1,6 +1,6 @@
1
1
  = isitopencoffeetomorrow
2
2
 
3
- Description goes here.
3
+ An embedded sinatra app for Open Coffee Club events.
4
4
 
5
5
  == Contributing to isitopencoffeetomorrow
6
6
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
@@ -5,21 +5,23 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "isitopencoffeetomorrow"
8
- s.version = "0.1.0"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Eoin Coffey"]
12
- s.date = "2012-07-08"
12
+ s.date = "2012-12-22"
13
13
  s.description = "Embedded sinatra app for answering the is it tomorrow question"
14
14
  s.email = "ecoffey@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
+ "README.md",
17
18
  "README.rdoc"
18
19
  ]
19
20
  s.files = [
20
21
  ".document",
21
22
  "Gemfile",
22
23
  "LICENSE.txt",
24
+ "README.md",
23
25
  "README.rdoc",
24
26
  "Rakefile",
25
27
  "VERSION",
@@ -49,7 +51,7 @@ Gem::Specification.new do |s|
49
51
  s.add_runtime_dependency(%q<foreman>, [">= 0"])
50
52
  s.add_development_dependency(%q<shoulda>, [">= 0"])
51
53
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
52
- s.add_development_dependency(%q<bundler>, ["~> 1.1.0"])
54
+ s.add_development_dependency(%q<bundler>, ["~> 1.2"])
53
55
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
54
56
  s.add_development_dependency(%q<simplecov>, [">= 0"])
55
57
  else
@@ -61,7 +63,7 @@ Gem::Specification.new do |s|
61
63
  s.add_dependency(%q<foreman>, [">= 0"])
62
64
  s.add_dependency(%q<shoulda>, [">= 0"])
63
65
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
64
- s.add_dependency(%q<bundler>, ["~> 1.1.0"])
66
+ s.add_dependency(%q<bundler>, ["~> 1.2"])
65
67
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
66
68
  s.add_dependency(%q<simplecov>, [">= 0"])
67
69
  end
@@ -74,7 +76,7 @@ Gem::Specification.new do |s|
74
76
  s.add_dependency(%q<foreman>, [">= 0"])
75
77
  s.add_dependency(%q<shoulda>, [">= 0"])
76
78
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
77
- s.add_dependency(%q<bundler>, ["~> 1.1.0"])
79
+ s.add_dependency(%q<bundler>, ["~> 1.2"])
78
80
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
79
81
  s.add_dependency(%q<simplecov>, [">= 0"])
80
82
  end
@@ -6,6 +6,7 @@ module IsItOpenCoffeeTomorrow
6
6
  class Application < Sinatra::Base
7
7
 
8
8
  def self.configure
9
+ set :skip_dates, []
9
10
  yield self
10
11
  end
11
12
 
@@ -20,6 +21,7 @@ module IsItOpenCoffeeTomorrow
20
21
  time_zone = settings.time_zone
21
22
  @hash_tag = settings.hash_tag
22
23
  @official_site = settings.official_site
24
+ @ga_token = settings.ga_token
23
25
 
24
26
  now = Time.now.utc.in_time_zone(time_zone).to_date
25
27
  tomorrow = now.tomorrow.to_date
@@ -30,6 +32,9 @@ module IsItOpenCoffeeTomorrow
30
32
  last_occ = now - diff_days_now
31
33
  next_occ = last_occ.advance(:days => 14)
32
34
 
35
+ last_occ = occ_from last_occ, :days => -14
36
+ next_occ = occ_from next_occ, :days => 14
37
+
33
38
  days_till_next_occ = (next_occ - now).to_i
34
39
  @days_till_next_occ =
35
40
  days_till_next_occ > 1 ? "#{days_till_next_occ} days" : "#{days_till_next_occ} day"
@@ -40,5 +45,15 @@ module IsItOpenCoffeeTomorrow
40
45
 
41
46
  erb :index
42
47
  end
48
+
49
+ def occ_from occ_date, by
50
+ skip_dates = settings.skip_dates
51
+
52
+ while skip_dates.include? occ_date.strftime('%Y-%m-%d')
53
+ occ_date = occ_date.advance by
54
+ end
55
+
56
+ occ_date
57
+ end
43
58
  end
44
59
  end
data/lib/views/index.erb CHANGED
@@ -3,17 +3,19 @@
3
3
  <head>
4
4
  <title>is it <%= @hash_tag %> tomorrow?</title>
5
5
  <link href="/css/main.css" rel="stylesheet" />
6
- <script type="text/javascript">
7
- var _gaq = _gaq || [];
8
- _gaq.push(['_setAccount', 'UA-22550563-1']);
9
- _gaq.push(['_trackPageview']);
6
+ <% if @ga_token %>
7
+ <script type="text/javascript">
8
+ var _gaq = _gaq || [];
9
+ _gaq.push(['_setAccount', '<%= @ga_token %>']);
10
+ _gaq.push(['_trackPageview']);
10
11
 
11
- (function() {
12
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
13
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
14
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
15
- })();
16
- </script>
12
+ (function() {
13
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
14
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
15
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
16
+ })();
17
+ </script>
18
+ <% end %>
17
19
  </head>
18
20
  <body>
19
21
  <div class="status">
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isitopencoffeetomorrow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-08 00:00:00.000000000 Z
12
+ date: 2012-12-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: tzinfo
@@ -146,7 +146,7 @@ dependencies:
146
146
  requirements:
147
147
  - - ~>
148
148
  - !ruby/object:Gem::Version
149
- version: 1.1.0
149
+ version: '1.2'
150
150
  type: :development
151
151
  prerelease: false
152
152
  version_requirements: !ruby/object:Gem::Requirement
@@ -154,7 +154,7 @@ dependencies:
154
154
  requirements:
155
155
  - - ~>
156
156
  - !ruby/object:Gem::Version
157
- version: 1.1.0
157
+ version: '1.2'
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: jeweler
160
160
  requirement: !ruby/object:Gem::Requirement
@@ -193,11 +193,13 @@ executables: []
193
193
  extensions: []
194
194
  extra_rdoc_files:
195
195
  - LICENSE.txt
196
+ - README.md
196
197
  - README.rdoc
197
198
  files:
198
199
  - .document
199
200
  - Gemfile
200
201
  - LICENSE.txt
202
+ - README.md
201
203
  - README.rdoc
202
204
  - Rakefile
203
205
  - VERSION
@@ -223,7 +225,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
223
225
  version: '0'
224
226
  segments:
225
227
  - 0
226
- hash: 84980687
228
+ hash: -2378244022103286004
227
229
  required_rubygems_version: !ruby/object:Gem::Requirement
228
230
  none: false
229
231
  requirements: