bike_reg 0.2.1 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 107d2426683c0fc4c46e9bfa43a3aadf300c723ce9440448b4dc556eab213a9c
4
- data.tar.gz: 6e384e9c1db1e7a13a0f67b3b7c6cf458eaec60de44f10bfe7e6562e79c127af
3
+ metadata.gz: 4cd8ad9b4aac2357cff969a229f2767885512537138ec96dfa6c1165d6219f86
4
+ data.tar.gz: 6385894aa3816927105c74a994fab9e87a86a5817063e906d422514185aa25a5
5
5
  SHA512:
6
- metadata.gz: 9386c8a8c4f0b7b58e21cf1d2f2a2b4eb50061ed6c01e5439732dfb76bfaac7b324d5c94b3af2ad37d0f20ce4fb1ea208a4eae34b33af78f144c8e3afb93b882
7
- data.tar.gz: 8158563e022d46321abdbcca9b3f96ca4db615a93575497b0689be30bee6b86125ec8dbba508c87cf5919d18fc457b585d7c5e1c7d64e59e7628312718e7021b
6
+ metadata.gz: '05000791b48b7a52ebfc4f49650e34c481b1f634f8a4c62d17d34f2014da6cba22ed1a144eb29f1240d757e35b9fbe7d5220c277bdfe84cc7f13e65a1c243ff9'
7
+ data.tar.gz: 064c37361c2e7ab7051db3bb580a4112df4467c10c7c7d2284f1494843ef355080e54cc3f2a07c78ce062ee5dde3b8f30f18d5632f448ec2a4256518d6cf8dfc
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.3.0] - 2021-11-14
2
+
3
+ - All the keys are now in snakecase
4
+
1
5
  ## [0.2.1] - 2021-11-14
2
6
 
3
7
  - Send date back in ISO via `event_date` and `event_end_date`
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bike_reg (0.2.1)
4
+ bike_reg (0.3.0)
5
5
  faraday (~> 1.7)
6
6
  faraday_middleware (~> 1.1)
7
7
  kimurai (= 1.4)
data/README.md CHANGED
@@ -39,7 +39,7 @@ events.total
39
39
  events.data
40
40
  #=> [#<BikeReg::Event>, #<BikeReg::Event>]
41
41
 
42
- events.data[0].EventName
42
+ events.data[0].event_name
43
43
  #=> 'The Grand'
44
44
  ```
45
45
 
@@ -11,12 +11,26 @@ module BikeReg
11
11
  def to_ostruct(obj)
12
12
  case obj
13
13
  when Hash
14
- OpenStruct.new(obj.transform_values { |val| to_ostruct(val) })
14
+ new_obj = obj.transform_keys { |key| underscore(key) }
15
+ OpenStruct.new(new_obj.transform_values { |val| to_ostruct(val) })
15
16
  when Array
16
17
  obj.map { |o| to_ostruct(o) }
17
18
  else # Assumed to be a primitive value
18
19
  obj
19
20
  end
20
21
  end
22
+
23
+ private
24
+
25
+ def underscore(camel_cased_word)
26
+ return camel_cased_word.to_s unless /[A-Z-]|::/.match?(camel_cased_word)
27
+
28
+ word = camel_cased_word.to_s.gsub('::', '/')
29
+ # word.gsub!(inflections.acronyms_underscore_regex) { "#{$1 && '_' }#{$2.downcase}" }
30
+ word.gsub!(/([A-Z]+)(?=[A-Z][a-z])|([a-z\d])(?=[A-Z])/) { (Regexp.last_match(1) || Regexp.last_match(2)) << '_' }
31
+ word.tr!('-', '_')
32
+ word.downcase!
33
+ word
34
+ end
21
35
  end
22
36
  end
@@ -3,16 +3,16 @@
3
3
  module BikeReg
4
4
  class Event < Object
5
5
  # "/Date(1637384400000-0500)/"
6
- def event_date
6
+ def event_starts_at
7
7
  ConvertDate
8
- .new(self.EventDate)
8
+ .new(event_date)
9
9
  .utc_date
10
10
  .to_s
11
11
  end
12
12
 
13
- def event_end_date
13
+ def event_ends_at
14
14
  ConvertDate
15
- .new(self.EventEndDate)
15
+ .new(event_end_date)
16
16
  .utc_date
17
17
  .to_s
18
18
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BikeReg
4
- VERSION = '0.2.1'
4
+ VERSION = '0.3.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bike_reg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Olsen