isitopencoffeetomorrow 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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: