hashash 1.0.0 → 1.1.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
  SHA1:
3
- metadata.gz: 7eac5b0b0442bab9c0b417ecffb3cbab7bcb2eb6
4
- data.tar.gz: 84bd2e99ba3469bf21808b87f766f1e642421818
3
+ metadata.gz: af80561f56daad3161331bb213a3697af8e98b72
4
+ data.tar.gz: 2cf1f44460a6342af419d434b90a1d105018d822
5
5
  SHA512:
6
- metadata.gz: f48ac2adfd50e96258c64cfa546dd3709a0800c8f4fd4e24cdc6beaca8d3045d0488c7081f70dee970f34a434998085c84d765cd866fd16fdef66bbc1da831f3
7
- data.tar.gz: 3402763cb2f0977a5a0e0214b2082ba1b2050b281872150ce17ea0c53d9b30bd875838189465f2b8c16c0aa7ed46da06b4d8c5b3f37c8b82ca21155b871e3bbb
6
+ metadata.gz: 6b7244a180dd5f8980dc2213530df0815433d5a93a0bd8bced633c2f45a0928d77f15fa9bb3c03e82be78d650ce945549acbd12c6b3ff17dc590d297cbf3442e
7
+ data.tar.gz: 02a267fd938e30132b7d7a20bee18a62adf6e5675b3890becf8ddc23e5937a2f17597b40aeeb830f214654696857ac33b3bcc74375415356814c98a6ecadbfca
@@ -1,12 +1,15 @@
1
1
  # Change Log
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
- ## [unreleased]
4
+ ## [Unreleased]
5
5
 
6
- ## [1.0.0] - 2017-07-09
6
+ ## [1.1.0]
7
+ ### Added
8
+ - add UpperCamelCase
7
9
 
10
+ ## [1.0.0] - 2017-07-09
8
11
  - first release
9
12
 
13
+ [Unreleased]: https://github.com/kimsuelim/hashash/compare/v1.0.0...HEAD
14
+ [1.1.0]: https://github.com/kimsuelim/hashash/compare/v1.1.0...v1.0.0
10
15
  [1.0.0]: https://github.com/kimsuelim/hashash/releases/tag/v1.0.0
11
- [1.1.0]: https://github.com/kimsuelim/hashash/compare/v1.0.0...v1.1.0
12
- [unreleased]: https://github.com/kimsuelim/hashash/compare/v1.0.0...HEAD
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  [![Gem Version](https://badge.fury.io/rb/hashash.svg)](https://badge.fury.io/rb/hashash)
5
5
 
6
6
  Hashash is a collection of classes and mixins that make it more useful when working with JSON APIs.
7
- Convert underscore to camelCase, convert camelcase to underscore, convert hashes to the objects.
7
+ Convert underscore to camelcase, convert camelcase to underscore, convert hashes to the objects.
8
8
 
9
9
  ## Installation
10
10
 
@@ -44,23 +44,39 @@ hash.deep_underscore_keys
44
44
  ## Camelize keys when working with JSON APIs
45
45
 
46
46
  ### camelize_keys
47
- converts all keys in a hash to camelCase.
47
+ converts all keys in a hash to camelcase.
48
48
 
49
+ #### lowerCamelCase
49
50
  ```ruby
50
51
  hash = { first_name: "Surim", last_name: "Kim" }
51
52
  hash.camelize_keys
52
53
  # => {:firstName=>"Surim", :lastName=>"Kim"}
53
54
  ```
54
55
 
56
+ #### UpperCamelCase
57
+ ```ruby
58
+ hash = { first_name: "Surim", last_name: "Kim" }
59
+ hash.camelize_keys(:upper)
60
+ # => {:FirstName=>"Surim", :LastName=>"Kim"}
61
+ ```
62
+
55
63
  ### deep_camelize_keys
56
- recursively converts all keys in a hash to camelCase.
64
+ recursively converts all keys in a hash to camelcase.
57
65
 
66
+ #### lowerCamelCase
58
67
  ```ruby
59
68
  hash = { person: { first_name: "Surim", last_name: "Kim" } }
60
69
  hash.deep_camelize_keys
61
70
  # => {:person=>{:firstName=>"Surim", :lastName=>"Kim"}}
62
71
  ```
63
72
 
73
+ #### UpperCamelCase
74
+ ```ruby
75
+ hash = { person: { first_name: "Surim", last_name: "Kim" } }
76
+ hash.deep_camelize_keys(:upper)
77
+ # => {:Person=>{:FirstName=>"Surim", :LastName=>"Kim"}}
78
+ ```
79
+
64
80
  ## Converts hashes to the objects.
65
81
  ### objectified_hash
66
82
  ```ruby
@@ -4,3 +4,19 @@ require "hashash/objectified_hash"
4
4
 
5
5
  module Hashash
6
6
  end
7
+
8
+ def aa
9
+ user_id = session[:user_id]
10
+ if (user_id)
11
+ @current_user ||= User.find_by(id: user_id)
12
+ else
13
+ user_id = cookies.signed[:user_id]
14
+ if (user_id)
15
+ user = User.find_by(id: user_id)
16
+ if user && user.authenticated?(cookies[:remember_token])
17
+ log_in user
18
+ @current_user = user
19
+ end
20
+ end
21
+ end
22
+ end
@@ -15,8 +15,8 @@ class Hash
15
15
  #
16
16
  # hash.camelize_keys
17
17
  # # => {:firstName=>"Surim", :lastName=>"Kim"}
18
- def camelize_keys
19
- transform_keys { |key| camelize_key(key) }
18
+ def camelize_keys(first_letter = :lower)
19
+ transform_keys { |key| camelize_key(key, first_letter) }
20
20
  end
21
21
 
22
22
  # Returns a new hash with all keys converted to underscore.
@@ -39,8 +39,8 @@ class Hash
39
39
  #
40
40
  # hash.deep_camelize_keys
41
41
  # # => {:person=>{:firstName=>"Surim", :lastName=>"Kim"}}
42
- def deep_camelize_keys
43
- deep_transform_keys_in_object(self) { |key| camelize_key(key) }
42
+ def deep_camelize_keys(first_letter = :lower)
43
+ deep_transform_keys_in_object(self) { |key| camelize_key(key, first_letter) }
44
44
  end
45
45
 
46
46
  private
@@ -90,11 +90,11 @@ class Hash
90
90
  word
91
91
  end
92
92
 
93
- def camelize_key(key)
93
+ def camelize_key(key, first_letter)
94
94
  if key.is_a?(Symbol)
95
- camelize(key.to_s, :lower).to_sym
95
+ camelize(key.to_s, first_letter).to_sym
96
96
  elsif key.is_a?(String)
97
- camelize(key, :lower)
97
+ camelize(key, first_letter)
98
98
  else
99
99
  key
100
100
  end
@@ -1,3 +1,3 @@
1
1
  module Hashash
2
- VERSION = "1.0.0".freeze
2
+ VERSION = "1.1.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hashash
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Surim Kim
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-09 00:00:00.000000000 Z
11
+ date: 2017-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler