internet_time 1.0.1 → 1.0.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.
@@ -0,0 +1,6 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ .*.swp
6
+ .*.swo
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --colour
3
+ --tty
@@ -0,0 +1,12 @@
1
+ # master
2
+
3
+ # 1.0.2
4
+ * added #beats for unformatted value (similar to #hour, #min, etc.)
5
+ * added tests [benlangfeld]
6
+ * better packaging [benlangfeld]
7
+
8
+ # 1.0.1
9
+ * proper gem package with files included :)
10
+
11
+ # 1.0.0
12
+ * initial release
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
@@ -0,0 +1,5 @@
1
+ guard 'rspec', :version => 2, :cli => '--format documentation' do
2
+ watch(%r{^spec/.+_spec\.rb$})
3
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
4
+ watch('spec/spec_helper.rb') { "spec/" }
5
+ end
@@ -0,0 +1,22 @@
1
+ # Internet Time
2
+
3
+ Swatch Internet Time extension to Ruby Time class.
4
+
5
+ ## Installation
6
+ $ gem install internet_time
7
+
8
+ ## Usage
9
+ ```
10
+ require 'internet_time'
11
+ Time.now.beats # => 234
12
+ Time.now.to_beats # => "@234"
13
+ ```
14
+
15
+ ## Author
16
+ Paul Philippov <themactep@gmail.com>
17
+
18
+ ## Contributors
19
+ Ben Langfeld <ben@langfeld.me>
20
+
21
+ ## License:
22
+ New BSD License
data/Rakefile CHANGED
@@ -1,31 +1,12 @@
1
- require 'rubygems'
2
- require 'rake/clean'
3
- require 'rake/gempackagetask'
1
+ require 'bundler/gem_tasks'
4
2
 
5
- spec = Gem::Specification.new do |s|
6
- s.name = 'internet_time'
7
- s.version = File.read('VERSION')
8
- s.date = File.mtime('VERSION')
3
+ task :default => :spec
9
4
 
10
- s.summary = %Q{Swatch Internet Time extension to Ruby Time class}
11
- s.description = %Q{Swatch Internet time extension to Ruby Time class}
12
- s.homepage = 'http://themactep.com/'
13
- s.author = 'Paul Philippov'
14
- s.email = 'themactep@gmail.com'
15
- s.version = File.read('VERSION')
16
- s.date = File.mtime('VERSION')
17
-
18
- s.files = FileList["{lib}/**/*","[A-Z]*"].to_a
19
- s.require_path = "lib"
20
-
21
- s.has_rdoc = true
22
- s.extra_rdoc_files = ['README', 'LICENSE']
23
-
24
- s.rubyforge_project = 'internet_time'
5
+ require 'rspec/core/rake_task'
6
+ RSpec::Core::RakeTask.new(:spec) do |spec|
7
+ spec.pattern = 'spec/**/*_spec.rb'
8
+ spec.rspec_opts = '--color'
25
9
  end
26
10
 
27
- Rake::GemPackageTask.new(spec) do |p|
28
- p.gem_spec = spec
29
- p.need_tar = true
30
- p.need_zip = true
31
- end
11
+ require 'yard'
12
+ YARD::Rake::YardocTask.new
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "internet_time/version"
4
+
5
+ spec = Gem::Specification.new do |s|
6
+ s.name = 'internet_time'
7
+ s.version = InternetTime::VERSION
8
+ s.author = 'Paul Philippov'
9
+ s.email = 'themactep@gmail.com'
10
+ s.homepage = 'https://github.com/themactep/internet_time'
11
+ s.summary = %Q{Swatch Internet Time extension to Ruby Time class}
12
+ s.description = %Q{Swatch Internet time extension to Ruby Time class}
13
+
14
+ s.rubyforge_project = 'internet_time'
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ s.add_development_dependency %q<bundler>, ["~> 1.0"]
22
+ s.add_development_dependency %q<rspec>, ["~> 2.11"]
23
+ s.add_development_dependency %q<yard>, ["~> 0.8"]
24
+ s.add_development_dependency %q<rake>, [">= 0"]
25
+ s.add_development_dependency %q<guard-rspec>
26
+ end
@@ -1,34 +1,31 @@
1
- #! /usr/bin/env ruby
2
- #--
3
- # Swatch Internet Time extension to Ruby Time class
4
- # Copyright 2009 Paul Philippov <themactep@gmail.com>
5
- #
6
- # This program is free software. It may be redistributed and/or modified
7
- # under the terms of the New BSD licence.
8
- #
9
- # $Id: beats.rb,v 1.0 2010/04/06 13:33:01 themactep Exp $
10
- #++
11
-
12
1
  # The library add Swatch Internet Time capability to the standard Ruby Time class.
13
2
  # Its usage is very straightforward:
14
3
  #
15
4
  # require 'internet_time'
16
- # Time.now.to_beats # => @234
5
+ # Time.now.beats # => 234
6
+ # Time.now.to_beats # => "@234"
17
7
  #
18
- class Time #:nodoc:#
8
+ require 'internet_time/version'
9
+
10
+ module InternetTime
11
+ end
19
12
 
20
- SECOND_PER_BEAT = 86.4 # Amount of seconds in a single .beat
21
- BMT_OFFSET_SEC = 3600 # Biel Mean Time offset to UTC in seconds
13
+ class Time
14
+ BMT_OFFSET_SEC = 3600 # Biel Mean Time offset to UTC in seconds
22
15
 
23
16
  # Time in Biel Mean Time (UTC+1)
24
17
  def bmt
25
- self.utc + BMT_OFFSET_SEC
18
+ utc + BMT_OFFSET_SEC
26
19
  end
27
20
 
28
21
  # Time in .beats
22
+ def beats
23
+ time = bmt
24
+ ((time.hour * 60 + time.min) * 60 + time.sec) * 10 / 864
25
+ end
26
+
27
+ # Time in .beats, formatted
29
28
  def to_beats
30
- "@%03d" % [ ((bmt.hour * 60 + bmt.min) * 60 + bmt.sec) / SECOND_PER_BEAT ]
29
+ '@%03d' % beats
31
30
  end
32
31
  end
33
-
34
- # vim: ts=2
@@ -0,0 +1,3 @@
1
+ module InternetTime
2
+ VERSION = '1.0.2'
3
+ end
@@ -0,0 +1,55 @@
1
+ require 'spec_helper'
2
+
3
+ describe Time do
4
+ describe "#internet" do
5
+ context "outside DST" do
6
+ context "for a fixed time in" do
7
+ context "CET" do
8
+ subject { Time.parse "Fri Nov 30 12:00:00 +0100 2012" }
9
+
10
+ its(:beats) { should be 500 }
11
+ its(:to_beats) { should eq "@500" }
12
+ end
13
+
14
+ context "UTC" do
15
+ subject { Time.parse "Fri Nov 30 11:00:00 UTC 2012" }
16
+
17
+ its(:beats) { should be 500 }
18
+ its(:to_beats) { should eq "@500" }
19
+ end
20
+
21
+ context "another timezone" do
22
+ subject { Time.parse "Fri Nov 30 06:00:00 EST 2001" }
23
+
24
+ its(:beats) { should be 500 }
25
+ its(:to_beats) { should eq "@500" }
26
+ end
27
+ end
28
+ end
29
+
30
+ context "during DST" do
31
+ context "for a fixed time in" do
32
+ context "CET" do
33
+ subject { Time.parse "Tue Jul 24 12:00:00 +0100 2012" }
34
+
35
+ its(:beats) { should be 500 }
36
+ its(:to_beats) { should eq "@500" }
37
+ end
38
+
39
+ context "UTC" do
40
+ subject { Time.parse "Tue Jul 24 11:00:00 UTC 2012" }
41
+
42
+ its(:beats) { should be 500 }
43
+ its(:to_beats) { should eq "@500" }
44
+ end
45
+
46
+ context "another timezone" do
47
+ subject { Time.parse "Tue Jul 24 06:00:00 EST 2012" }
48
+
49
+ its(:beats) { should be 500 }
50
+ its(:to_beats) { should eq "@500" }
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,9 @@
1
+ require 'internet_time'
2
+ require 'time'
3
+
4
+ Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
5
+
6
+ RSpec.configure do |config|
7
+ config.filter_run :focus => true
8
+ config.run_all_when_everything_filtered = true
9
+ end
metadata CHANGED
@@ -1,68 +1,138 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: internet_time
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 0
8
- - 1
9
- version: 1.0.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.2
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Paul Philippov
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2010-04-06 00:00:00 +07:00
18
- default_executable:
19
- dependencies: []
20
-
12
+ date: 2012-07-25 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '1.0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '2.11'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '2.11'
46
+ - !ruby/object:Gem::Dependency
47
+ name: yard
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '0.8'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '0.8'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: guard-rspec
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
21
94
  description: Swatch Internet time extension to Ruby Time class
22
95
  email: themactep@gmail.com
23
96
  executables: []
24
-
25
97
  extensions: []
26
-
27
- extra_rdoc_files:
28
- - README
98
+ extra_rdoc_files: []
99
+ files:
100
+ - .gitignore
101
+ - .rspec
102
+ - CHANGELOG.md
103
+ - Gemfile
104
+ - Guardfile
29
105
  - LICENSE
30
- files:
31
- - lib/internet_time.rb
32
- - CHANGELOG
33
- - README
106
+ - README.md
34
107
  - Rakefile
35
- - LICENSE
36
- - VERSION
37
- has_rdoc: true
38
- homepage: http://themactep.com/
108
+ - internet_time.gemspec
109
+ - lib/internet_time.rb
110
+ - lib/internet_time/version.rb
111
+ - spec/internet_time_spec.rb
112
+ - spec/spec_helper.rb
113
+ homepage: https://github.com/themactep/internet_time
39
114
  licenses: []
40
-
41
115
  post_install_message:
42
116
  rdoc_options: []
43
-
44
- require_paths:
117
+ require_paths:
45
118
  - lib
46
- required_ruby_version: !ruby/object:Gem::Requirement
47
- requirements:
48
- - - ">="
49
- - !ruby/object:Gem::Version
50
- segments:
51
- - 0
52
- version: "0"
53
- required_rubygems_version: !ruby/object:Gem::Requirement
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- segments:
58
- - 0
59
- version: "0"
119
+ required_ruby_version: !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ! '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ required_rubygems_version: !ruby/object:Gem::Requirement
126
+ none: false
127
+ requirements:
128
+ - - ! '>='
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
60
131
  requirements: []
61
-
62
132
  rubyforge_project: internet_time
63
- rubygems_version: 1.3.6
133
+ rubygems_version: 1.8.24
64
134
  signing_key:
65
135
  specification_version: 3
66
136
  summary: Swatch Internet Time extension to Ruby Time class
67
137
  test_files: []
68
-
138
+ has_rdoc:
data/CHANGELOG DELETED
@@ -1,5 +0,0 @@
1
- 1.0.1
2
- - proper gem package with files included :)
3
-
4
- 1.0.0
5
- - initial release
data/README DELETED
@@ -1,16 +0,0 @@
1
- = Internet Time
2
-
3
- Swatch Internet Time extension to Ruby Time class.
4
-
5
- Installation:
6
- $ sudo gem install internet_time
7
-
8
- Usage:
9
- require 'internet_time'
10
- Time.now.to_beats # => "@234"
11
-
12
- Author:
13
- Paul Philippov <themactep@gmail.com>
14
-
15
- License:
16
- New BSD License
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 1.0.1