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.
- data/.gitignore +6 -0
- data/.rspec +3 -0
- data/CHANGELOG.md +12 -0
- data/Gemfile +3 -0
- data/Guardfile +5 -0
- data/README.md +22 -0
- data/Rakefile +8 -27
- data/internet_time.gemspec +26 -0
- data/lib/internet_time.rb +16 -19
- data/lib/internet_time/version.rb +3 -0
- data/spec/internet_time_spec.rb +55 -0
- data/spec/spec_helper.rb +9 -0
- metadata +116 -46
- data/CHANGELOG +0 -5
- data/README +0 -16
- data/VERSION +0 -1
data/.gitignore
ADDED
data/.rspec
ADDED
data/CHANGELOG.md
ADDED
data/Gemfile
ADDED
data/Guardfile
ADDED
data/README.md
ADDED
@@ -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 '
|
2
|
-
require 'rake/clean'
|
3
|
-
require 'rake/gempackagetask'
|
1
|
+
require 'bundler/gem_tasks'
|
4
2
|
|
5
|
-
|
6
|
-
s.name = 'internet_time'
|
7
|
-
s.version = File.read('VERSION')
|
8
|
-
s.date = File.mtime('VERSION')
|
3
|
+
task :default => :spec
|
9
4
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
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
|
-
|
28
|
-
|
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
|
data/lib/internet_time.rb
CHANGED
@@ -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.
|
5
|
+
# Time.now.beats # => 234
|
6
|
+
# Time.now.to_beats # => "@234"
|
17
7
|
#
|
18
|
-
|
8
|
+
require 'internet_time/version'
|
9
|
+
|
10
|
+
module InternetTime
|
11
|
+
end
|
19
12
|
|
20
|
-
|
21
|
-
BMT_OFFSET_SEC = 3600
|
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
|
-
|
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
|
-
|
29
|
+
'@%03d' % beats
|
31
30
|
end
|
32
31
|
end
|
33
|
-
|
34
|
-
# vim: ts=2
|
@@ -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
|
data/spec/spec_helper.rb
ADDED
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
|
-
|
5
|
-
|
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
|
-
|
18
|
-
|
19
|
-
|
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
|
-
|
28
|
-
-
|
98
|
+
extra_rdoc_files: []
|
99
|
+
files:
|
100
|
+
- .gitignore
|
101
|
+
- .rspec
|
102
|
+
- CHANGELOG.md
|
103
|
+
- Gemfile
|
104
|
+
- Guardfile
|
29
105
|
- LICENSE
|
30
|
-
|
31
|
-
- lib/internet_time.rb
|
32
|
-
- CHANGELOG
|
33
|
-
- README
|
106
|
+
- README.md
|
34
107
|
- Rakefile
|
35
|
-
-
|
36
|
-
-
|
37
|
-
|
38
|
-
|
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
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
|
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.
|
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
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
|