ninsho 0.0.3 → 0.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.
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#Ninsho
|
2
2
|
|
3
|
-
Ninsho is easy flexible authentication solution when using providers
|
3
|
+
Ninsho is an easy flexible authentication solution when using providers
|
4
4
|
|
5
5
|
* Is a complete MVC solution based on Rails Engines;
|
6
6
|
* Works with most providers out there, Github, Facebook, Twitter, Linkedin
|
@@ -109,6 +109,34 @@ And after that if you want ninsho to respond to that, you just need to add the p
|
|
109
109
|
config.omniauth :facebook, "APP_ID", "APP_SECRET", :scope => 'email'
|
110
110
|
```
|
111
111
|
|
112
|
+
###Custom fields
|
113
|
+
|
114
|
+
Now you have access to the hash provided by any of the omniauth providers gem, as an instance method under:
|
115
|
+
|
116
|
+
```ruby
|
117
|
+
self.auth_hash
|
118
|
+
```
|
119
|
+
|
120
|
+
So if you need to add an extra field to your ninsho model (commonly 'Authentication'), it's as easy as adding a ```before_save``` callback and handle the extra stuff by yourself. Don't get it?, here ir a quick example:
|
121
|
+
|
122
|
+
Let's say we want to save the nickname from the hash into our ninsho model:
|
123
|
+
|
124
|
+
1. Add the migration to the ninsho model
|
125
|
+
```console
|
126
|
+
rails g migration add_nickname_to_MODEL nickname:string
|
127
|
+
```
|
128
|
+
2. Run the migration and add the callback which should look like:
|
129
|
+
```ruby
|
130
|
+
before_save :set_nickname
|
131
|
+
```
|
132
|
+
```ruby
|
133
|
+
def set_nickname
|
134
|
+
self.nickname = self.auth_hash.info.nickname
|
135
|
+
end
|
136
|
+
```
|
137
|
+
3. You are good to go, and any time the user changes the nickname yours will too!
|
138
|
+
|
139
|
+
|
112
140
|
### I18n
|
113
141
|
|
114
142
|
You can overwrite the ninsho locale and customize the flash messages:
|
@@ -126,6 +154,7 @@ en:
|
|
126
154
|
* Current gem version 0.0.3
|
127
155
|
* Add more documentation on code
|
128
156
|
* Add aouth token for Facebook friends
|
157
|
+
* Add more flexibility to handle authentications and save to multiple fields
|
129
158
|
* Add handy helpers
|
130
159
|
* Released gem version 0.0.2
|
131
160
|
* Released gem version 0.0.1
|
@@ -136,9 +165,10 @@ en:
|
|
136
165
|
|
137
166
|
### Future
|
138
167
|
|
139
|
-
* Add more flexibility to handle authentications and save multiple to fields
|
140
168
|
* Add tests
|
141
169
|
* Support for Mongoid
|
170
|
+
* Add wiki
|
171
|
+
* Add rails live example
|
142
172
|
|
143
173
|
|
144
174
|
## Credits
|
@@ -46,7 +46,7 @@ class NinshoController < Ninsho.parent_controller.constantize
|
|
46
46
|
|
47
47
|
# Build a ninsho resource, from the omniauth hash
|
48
48
|
def build_resource_from_omniauth
|
49
|
-
|
49
|
+
self.resource = resource_class.from_omniauth(resource_params)
|
50
50
|
end
|
51
51
|
|
52
52
|
end
|
data/lib/ninsho/interface.rb
CHANGED
@@ -6,8 +6,14 @@ module Ninsho
|
|
6
6
|
base.extend(ClassMethods)
|
7
7
|
end
|
8
8
|
|
9
|
+
def auth_hash
|
10
|
+
Ninsho.resource_class.auth_hash
|
11
|
+
end
|
12
|
+
|
9
13
|
module ClassMethods
|
10
|
-
|
14
|
+
|
15
|
+
attr_accessor :auth_hash
|
16
|
+
|
11
17
|
def belongs_to_ninsho(*args)
|
12
18
|
options = args.extract_options!
|
13
19
|
|
@@ -20,10 +26,11 @@ module Ninsho
|
|
20
26
|
Ninsho.parent_resource_name = Ninsho.ref(associated_model.to_s.classify).get
|
21
27
|
end
|
22
28
|
end
|
23
|
-
|
29
|
+
|
24
30
|
# Responsible for creating or find the record with the
|
25
31
|
# omniauth hash
|
26
32
|
def from_omniauth(omniauth = nil)
|
33
|
+
self.auth_hash = omniauth
|
27
34
|
Ninsho::Authentication.new(omniauth)
|
28
35
|
end
|
29
36
|
end
|
data/lib/ninsho/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ninsho
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-03-
|
12
|
+
date: 2013-03-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: orm_adapter
|