spacetimeid 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/lib/space_time_id.rb +8 -3
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5fc79cd5165be1f56d4c372249430fff31c28e64
4
- data.tar.gz: edcb65f0d8d7f0f5902dfaaa54256e57cc2f042b
3
+ metadata.gz: 02f032b0182112136513f798411a82d58658aef5
4
+ data.tar.gz: 47bf4be71d4137bf94669f47bad9c555139022cf
5
5
  SHA512:
6
- metadata.gz: b4abe4d9baba994033bdaf94c9825e7f207a3b676a65fa5770c061f75ba10965264ab423875ddd9ec97c4a67373c4a715a6afb5d971fa057122ba9b084aa0ec5
7
- data.tar.gz: 9cea49cdf67f08364d9c72a30cd26d10b316384f982e295b32abce40d77de91bda789eaf29cf1b32d9c0ce98875c9b5c936d8076bd2ad9b048e78704e7755bd1
6
+ metadata.gz: fb69958707cca2886ff03045059513700afd5775316fd3cfde70034421ab454ab0187f3fcd609e91d6a9622378760fb8d7594ab59a6c1539542c66e00c1f76f4
7
+ data.tar.gz: 6ae6b22efdabf0cd9d067fe785758d69b4d31ec4368e39bf5f753e329a9a2b71b7bb690f7ae83ecb0f0783d8cafe4d0f209bcb73d6ea4dd1f624952150be909f
data/README.md CHANGED
@@ -21,11 +21,11 @@ id = SpaceTimeId.new(time.to_i, [1.3, -3.048])
21
21
  id.id
22
22
  # => "1433116800_1.30_-3.05"
23
23
 
24
- # DEFAULTS = {
25
- # xy_base_step: 0.01, # 0.01 degrees
26
- # xy_expansion: 5, # expands into a 5x5 grid recursively
27
- # ts_base_step: 3600, # 1 hour
28
- # ts_expansion: 2, # each time interval expands this many times the previous one
24
+ # self.default_options = {
25
+ # xy_base_step: 0.01, # 0.01 degrees
26
+ # xy_expansion: 5, # expands into a 5x5 grid recursively
27
+ # ts_steps: [3600], # [600, 1800, 3600, 21600, 86400] [10min, 0.5h, 1h, 6h, 1day]
28
+ # ts_expansion: 2, # expands 2 times each interval
29
29
  # decimals: 2
30
30
  # }
31
31
 
data/lib/space_time_id.rb CHANGED
@@ -5,7 +5,7 @@ class SpaceTimeId
5
5
  self.default_options = {
6
6
  xy_base_step: 0.01, # 0.01 degrees
7
7
  xy_expansion: 5, # expands into a 5x5 grid recursively
8
- ts_base_step: 60 * 60, # 1 hour
8
+ ts_steps: [3600], # [600, 1800, 3600, 21600, 86400] [10min, 0.5h, 1h, 6h, 1day]
9
9
  ts_expansion: 2, # expands 2 times each interval
10
10
  decimals: 2
11
11
  }
@@ -120,11 +120,16 @@ class SpaceTimeId
120
120
  end
121
121
 
122
122
  def ts_step
123
- interval == 0 ? ts_base_step : ts_base_step * ts_expansion * interval
123
+ interval == 0 ? ts_base_step :
124
+ (ts_steps[interval] || ts_steps.last * ts_expansion * (interval - ts_steps.length + 1))
124
125
  end
125
126
 
126
127
  def ts_base_step
127
- options[:ts_base_step]
128
+ Array(options[:ts_steps]).first
129
+ end
130
+
131
+ def ts_steps
132
+ Array(options[:ts_steps])
128
133
  end
129
134
 
130
135
  def ts_expansion
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spacetimeid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - George Lamprianidis
@@ -56,7 +56,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
56
56
  version: '0'
57
57
  requirements: []
58
58
  rubyforge_project:
59
- rubygems_version: 2.4.6
59
+ rubygems_version: 2.5.0
60
60
  signing_key:
61
61
  specification_version: 4
62
62
  summary: Unified space and time id with hierarchy in both dimensions!