bike_reg 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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