spacetimeid 0.2.0 → 0.3.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.
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!