hashash 1.0.0 → 1.1.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
  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