plezi 0.12.15 → 0.12.16
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 +4 -4
- data/CHANGELOG.md +8 -0
- data/bin/plezi +3 -5
- data/lib/plezi/builders/app_builder.rb +1 -0
- data/lib/plezi/handlers/controller_magic.rb +23 -20
- data/lib/plezi/handlers/http_router.rb +55 -0
- data/lib/plezi/handlers/route.rb +2 -75
- data/lib/plezi/rake.rb +19 -0
- data/lib/plezi/version.rb +1 -1
- data/plezi.gemspec +1 -1
- data/resources/rakefile +2 -3
- data/test/plezi_tests.rb +4 -4
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f6fba282cfa6309e0cccf3aff5da8e19de6fc5e
|
4
|
+
data.tar.gz: 9aa0efac03e405a8d4db93455d56b51ea328c956
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f447f812e27e63bd503c8ed4d945cd7202f5a6e38524b248368730295407a7a49336af8b45bc618e4f13b1f1112df0e0b0a1c73f1c96c0a199abb7277f4701f0
|
7
|
+
data.tar.gz: ab4818fb422e3d0a275f8a73338d50e70d3d092b7776b6bab3a6c8373f86f9b186a85f58e9dc1ee2ef08cdc7a1249aec18189b9786abcf9164c739707bf8aeef
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,14 @@
|
|
2
2
|
|
3
3
|
***
|
4
4
|
|
5
|
+
Change log v.0.12.16
|
6
|
+
|
7
|
+
**Fix**: fixed an issue with the `#url_for` method, which couldn't be used as a class method.
|
8
|
+
|
9
|
+
**Update**: a new and improved `#url_for` method (both for Controller class and instance). The instance class will attempt to preserve any re-write route paramerets, such as the `:locale` and `:format` parameters. The class method will do the same IF it receives the exiting request's `params` Hash as a second argument. `#url_for` is always a "best guess" and should be accurate for when guessing isn't super difficult.
|
10
|
+
|
11
|
+
***
|
12
|
+
|
5
13
|
Change log v.0.12.15
|
6
14
|
|
7
15
|
**Fix**: fixed the Redis connection, which was failing after DB selection support was added.
|
data/bin/plezi
CHANGED
@@ -3,6 +3,7 @@ $0="Plezi Builder"
|
|
3
3
|
# count lines of code with: ^[ \t]*[\w\d\"\(\{\@\[\]\}\)\:\'\.\*\&]+.*$
|
4
4
|
|
5
5
|
require 'irb'
|
6
|
+
require 'benchmark'
|
6
7
|
require 'securerandom'
|
7
8
|
require 'plezi/builders/builder'
|
8
9
|
require 'plezi/builders/app_builder'
|
@@ -70,13 +71,10 @@ elsif ARGV[0] == 'server' || ARGV[0] == 'start' || ARGV[0] == 's'
|
|
70
71
|
ARGV.shift
|
71
72
|
load File.expand_path(Dir["."][0], (File.expand_path(Dir["."][0]).split(/[\\\/]/).last) ) rescue load( File.expand_path(Dir["."][0], (File.expand_path(Dir["."][0]).split(/[\\\/]/).last ) ) )
|
72
73
|
elsif ARGV[0] == 'console' || ARGV[0] == 'c'
|
73
|
-
NO_PLEZI_AUTO_START ||= true
|
74
74
|
load File.expand_path(Dir["."][0], (File.expand_path(Dir["."][0]).split(/[\\\/]/).last) ) rescue load( File.expand_path(Dir["."][0], (File.expand_path(Dir["."][0]).split(/[\\\/]/).last) ) )
|
75
75
|
ARGV.clear
|
76
|
-
|
77
|
-
IRB.
|
78
|
-
require 'irb/ext/multi-irb'
|
79
|
-
IRB.irb nil, self
|
76
|
+
Iodine.protocol = nil
|
77
|
+
IRB.start
|
80
78
|
else
|
81
79
|
puts ""
|
82
80
|
puts "Plezi fast web app starter.".pink
|
@@ -21,6 +21,7 @@ module Plezi
|
|
21
21
|
app_tree["Gemfile"] ||= String.new
|
22
22
|
app_tree["Gemfile"] << "source 'https://rubygems.org'\n\n####################\n# core gems\n\n# include the basic plezi framework and server\ngem 'plezi', '~> #{Plezi::VERSION}'\n"
|
23
23
|
app_tree["Gemfile"] << "\n\n\nruby '#{RUBY_VERSION}'\n"
|
24
|
+
app_tree["rakefile"] ||= IO.read(File.join(@root,"resources" ,"rakefile")).sub('initialize.rb', "#{app_name}.rb")
|
24
25
|
app_tree["templates"] ||= {}
|
25
26
|
app_tree["templates"]["404.html.erb"] ||= IO.read(File.join(@root, "resources" ,"404.erb"))
|
26
27
|
app_tree["templates"]["500.html.erb"] ||= IO.read(File.join(@root, "resources" ,"500.erb"))
|
@@ -79,7 +79,7 @@ module Plezi
|
|
79
79
|
#
|
80
80
|
def redirect_to url, options = {}
|
81
81
|
return super() if defined? super
|
82
|
-
url = full_url_for(url) unless url.is_a?(String) || url.nil?
|
82
|
+
url = full_url_for(url, params) unless url.is_a?(String) || url.nil?
|
83
83
|
# redirect
|
84
84
|
response.redirect_to url, options
|
85
85
|
end
|
@@ -97,13 +97,15 @@ module Plezi
|
|
97
97
|
#
|
98
98
|
# * If you use the same controller in different routes, the first route will dictate the returned url's structure (cause by route priority).
|
99
99
|
#
|
100
|
+
# * The route's host will be ignored. Even when using {#full_url_for}, the same host as the current request will be assumed. To change hosts, add the new host's address manualy, i.e.: `request.base_url.gsub('//www.', '//admin.') + UserController.url_for(user.id, params)
|
101
|
+
#
|
100
102
|
# * Not all controllers support this method. Regexp controller paths and multi-path options will throw an exception.
|
101
103
|
def url_for dest = nil
|
102
|
-
self.class.url_for dest
|
104
|
+
self.class.url_for dest, params
|
103
105
|
end
|
104
106
|
# same as #url_for, but returns the full URL (protocol:port:://host/path?params=foo)
|
105
107
|
def full_url_for dest
|
106
|
-
"#{request.base_url}#{self.class.url_for(dest)}"
|
108
|
+
"#{request.base_url}#{self.class.url_for(dest, params)}"
|
107
109
|
end
|
108
110
|
|
109
111
|
# Send raw data to be saved as a file or viewed as an attachment. Browser should believe it had recieved a file.
|
@@ -229,9 +231,24 @@ module Plezi
|
|
229
231
|
module ClassMethods
|
230
232
|
public
|
231
233
|
|
232
|
-
# This class method behaves the same way as the instance method #url_for
|
233
|
-
|
234
|
-
|
234
|
+
# This class method behaves the same way as the instance method #url_for, but accepts an added `params` Hash
|
235
|
+
# that will be used to infer any persistent re-write parameters (i.e. `:locale` or `:format`).
|
236
|
+
# See the instance method's documentation for more details.
|
237
|
+
def url_for dest, params={}
|
238
|
+
case dest
|
239
|
+
when :index, nil, false
|
240
|
+
dest = {}
|
241
|
+
when String
|
242
|
+
dest = {id: dest}
|
243
|
+
when Numeric, Symbol
|
244
|
+
dest = {id: dest}
|
245
|
+
when Hash
|
246
|
+
true
|
247
|
+
else
|
248
|
+
# convert dest.id and dest[:id] to their actual :id value.
|
249
|
+
dest = {id: (dest.id rescue false) || (raise TypeError, "Expecting a Symbol, Hash, String, Numeric or an object that answers to obj[:id] or obj.id") }
|
250
|
+
end
|
251
|
+
::Plezi::Base::HTTPRouter.url_for self, dest, params
|
235
252
|
end
|
236
253
|
|
237
254
|
# resets the routing cache
|
@@ -241,20 +258,6 @@ module Plezi
|
|
241
258
|
|
242
259
|
protected
|
243
260
|
|
244
|
-
# Sets the HTTP route that is the owner of this controller.
|
245
|
-
#
|
246
|
-
# This is used by the Plezi framework internally and is supplied only for advanced purposes. It is better to avoid using this method.
|
247
|
-
def set_pl_route route
|
248
|
-
@pl_http_route = route
|
249
|
-
end
|
250
|
-
|
251
|
-
# Gets the HTTP route that is the owner of this controller.
|
252
|
-
#
|
253
|
-
# This is used to utilize the `url_for` method.
|
254
|
-
def get_pl_route
|
255
|
-
@pl_http_route
|
256
|
-
end
|
257
|
-
|
258
261
|
# a callback that resets the class router whenever a method (a potential route) is added
|
259
262
|
def method_added(id)
|
260
263
|
reset_routing_cache
|
@@ -91,6 +91,61 @@ module Plezi
|
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
+
# This method attempts to guess at the desired controller's URL, based on it's first path in order of route creation (ignoring host hierarchy).
|
95
|
+
#
|
96
|
+
# This will be usually used by the Controller's #url_for method to get the relative part of the url.
|
97
|
+
def url_for controller, dest, params = {}
|
98
|
+
raise TypeError, "Expecting destination parameter to be a Hash" unless dest.is_a?(Hash)
|
99
|
+
host = nil
|
100
|
+
@hosts.values.each do |h|
|
101
|
+
h.routes.each {|r| (host = h) && (controller = r.controller) && break if r.controller && r.controller.ancestors.include?(controller) }
|
102
|
+
break if host
|
103
|
+
end
|
104
|
+
raise "couldn't find Controller's route and host." unless host
|
105
|
+
url = []
|
106
|
+
dest = dest.dup
|
107
|
+
dest.default_proc = Plezi::Base::Helpers::HASH_SYM_PROC
|
108
|
+
host.routes.each do |r|
|
109
|
+
if r.controller == false
|
110
|
+
add = []
|
111
|
+
r.url_array.each do |sec|
|
112
|
+
next if sec == '*'
|
113
|
+
param_name = (::Plezi::Base::Route::REGEXP_OPTIONAL_PARAMS.match(sec) || ::Plezi::Base::Route::REGEXP_FORMATTED_OPTIONAL_PARAMS.match(sec) || ::Plezi::Base::Route::REGEXP_REQUIRED_PARAMS.match(sec) || ::Plezi::Base::Route::REGEXP_FORMATTED_REQUIRED_PARAMS.match(sec))
|
114
|
+
param_name = param_name[1].to_sym if param_name
|
115
|
+
|
116
|
+
if param_name && (dest[param_name] || params[param_name])
|
117
|
+
add << Plezi::Base::Helpers.encode_url(dest.delete(param_name) || params[param_name])
|
118
|
+
elsif !param_name
|
119
|
+
add << sec
|
120
|
+
else
|
121
|
+
add.clear
|
122
|
+
next
|
123
|
+
end
|
124
|
+
end if r.url_array
|
125
|
+
url.concat add
|
126
|
+
end
|
127
|
+
if r.controller == controller
|
128
|
+
raise NotImplementedError, "#url_for isn't implemented for this controller's route - could this be a Regexp based or special route?" unless r.url_array
|
129
|
+
r.url_array.each do |sec|
|
130
|
+
next if sec == '*'
|
131
|
+
param_name = (::Plezi::Base::Route::REGEXP_OPTIONAL_PARAMS.match(sec) || ::Plezi::Base::Route::REGEXP_FORMATTED_OPTIONAL_PARAMS.match(sec) || ::Plezi::Base::Route::REGEXP_REQUIRED_PARAMS.match(sec) || ::Plezi::Base::Route::REGEXP_FORMATTED_REQUIRED_PARAMS.match(sec))
|
132
|
+
param_name = param_name[1].to_sym if param_name
|
133
|
+
if param_name && dest[param_name]
|
134
|
+
url << Plezi::Base::Helpers.encode_url(dest.delete(param_name))
|
135
|
+
elsif !param_name
|
136
|
+
url << sec
|
137
|
+
elsif ::Plezi::Base::Route::REGEXP_REQUIRED_PARAMS === sec || ::Plezi::Base::Route::REGEXP_OPTIONAL_PARAMS === sec
|
138
|
+
url << ''.freeze
|
139
|
+
elsif ::Plezi::Base::Route::REGEXP_FORMATTED_REQUIRED_PARAMS === sec
|
140
|
+
raise ArgumentError, "URL can't be formatted becuse a required parameter (#{param_name.to_s}) isn't specified and it requires a special format (#{::Plezi::Base::Route::REGEXP_FORMATTED_REQUIRED_PARAMS.match(sec)[2]})."
|
141
|
+
end
|
142
|
+
end
|
143
|
+
return "/#{url.join '/'.freeze}#{"?#{dest.map {|k,v| "#{Plezi::Base::Helpers.encode_url k}=#{Plezi::Base::Helpers.encode_url v}" } .join('&'.freeze)}" if dest.any?}"
|
144
|
+
end
|
145
|
+
end
|
146
|
+
false
|
147
|
+
end
|
148
|
+
|
94
149
|
protected
|
95
150
|
|
96
151
|
def get_host host_name
|
data/lib/plezi/handlers/route.rb
CHANGED
@@ -9,6 +9,8 @@ module Plezi
|
|
9
9
|
attr_reader :proc
|
10
10
|
# the parameters for the router and service that were used to create the service, router and host.
|
11
11
|
attr_reader :params
|
12
|
+
# an array containing the parts of the original url, if any. `false` for Regexp or non relevant routes.
|
13
|
+
attr_reader :url_array
|
12
14
|
|
13
15
|
# lets the route answer the request. returns false if no response has been sent.
|
14
16
|
def on_request request, response
|
@@ -75,80 +77,6 @@ module Plezi
|
|
75
77
|
end
|
76
78
|
end
|
77
79
|
|
78
|
-
# # returns the url for THIS route (i.e. `url_for :index`)
|
79
|
-
# #
|
80
|
-
# # This will be usually used by the Controller's #url_for method to get the relative part of the url.
|
81
|
-
# def url_for dest = :index
|
82
|
-
# raise NotImplementedError, "#url_for isn't implemented for this router - could this be a Regexp based router?" unless @url_array
|
83
|
-
# # convert dest.id and dest[:id] to their actual :id value.
|
84
|
-
# dest = (dest.id rescue false) || (raise TypeError, "Expecting a Symbol, Hash, String, Numeric or an object that answers to obj[:id] or obj.id") unless !dest || dest.is_a?(Symbol) || dest.is_a?(String) || dest.is_a?(Numeric) || dest.is_a?(Hash)
|
85
|
-
# url = '/'
|
86
|
-
# case dest
|
87
|
-
# when false, nil, '', :index
|
88
|
-
# add = true
|
89
|
-
# @url_array.each do |sec|
|
90
|
-
# add = false unless sec[0] != :path
|
91
|
-
# url << sec[1] if add
|
92
|
-
# raise NotImplementedError, '#url_for(index) cannot be implementedfor this path.' if !add && sec[0] == :path
|
93
|
-
# # todo: :multi_path
|
94
|
-
# end
|
95
|
-
# when Hash
|
96
|
-
# when Symbol, String, Numeric
|
97
|
-
# end
|
98
|
-
# end
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
# returns the url for THIS route (i.e. `url_for :index`)
|
103
|
-
#
|
104
|
-
# This will be usually used by the Controller's #url_for method to get the relative part of the url.
|
105
|
-
def url_for dest = :index
|
106
|
-
raise NotImplementedError, "#url_for isn't implemented for this router - could this be a Regexp based router?" unless @url_array
|
107
|
-
case dest
|
108
|
-
when :index, nil, false
|
109
|
-
dest = {}
|
110
|
-
when String
|
111
|
-
dest = {id: dest.dup}
|
112
|
-
when Numeric, Symbol
|
113
|
-
dest = {id: dest}
|
114
|
-
when Hash
|
115
|
-
dest = dest.dup
|
116
|
-
dest.each {|k,v| dest[k] = v.dup if v.is_a? String }
|
117
|
-
else
|
118
|
-
# convert dest.id and dest[:id] to their actual :id value.
|
119
|
-
dest = {id: (dest.id rescue false) || (raise TypeError, "Expecting a Symbol, Hash, String, Numeric or an object that answers to obj[:id] or obj.id") }
|
120
|
-
end
|
121
|
-
dest.default_proc = Plezi::Base::Helpers::HASH_SYM_PROC
|
122
|
-
|
123
|
-
url = '/'.dup
|
124
|
-
|
125
|
-
@url_array.each do |sec|
|
126
|
-
raise NotImplementedError, "#url_for isn't implemented for this router - Regexp multi-path routes are still being worked on... use a named parameter instead (i.e. '/foo/(:multi_route){route1|route2}/bar')" if REGEXP_FORMATTED_PATH === sec
|
127
|
-
|
128
|
-
param_name = (REGEXP_OPTIONAL_PARAMS.match(sec) || REGEXP_FORMATTED_OPTIONAL_PARAMS.match(sec) || REGEXP_REQUIRED_PARAMS.match(sec) || REGEXP_FORMATTED_REQUIRED_PARAMS.match(sec))
|
129
|
-
param_name = param_name[1].to_sym if param_name
|
130
|
-
|
131
|
-
if param_name && dest[param_name]
|
132
|
-
url << Plezi::Base::Helpers.encode_url(dest.delete(param_name))
|
133
|
-
url << '/'.freeze
|
134
|
-
elsif !param_name
|
135
|
-
url << sec
|
136
|
-
url << '/'.freeze
|
137
|
-
elsif REGEXP_REQUIRED_PARAMS === sec || REGEXP_OPTIONAL_PARAMS === sec
|
138
|
-
url << '/'.freeze
|
139
|
-
elsif REGEXP_FORMATTED_REQUIRED_PARAMS === sec
|
140
|
-
raise ArgumentError, "URL can't be formatted becuse a required parameter (#{param_name.to_s}) isn't specified and it requires a special format (#{REGEXP_FORMATTED_REQUIRED_PARAMS.match(sec)[2]})."
|
141
|
-
end
|
142
|
-
end
|
143
|
-
unless dest.empty?
|
144
|
-
add = '?'.freeze
|
145
|
-
dest.each {|k, v| url << "#{add}#{Plezi::Base::Helpers.encode_url k}=#{Plezi::Base::Helpers.encode_url v}"; add = '&'.freeze}
|
146
|
-
end
|
147
|
-
url
|
148
|
-
|
149
|
-
end
|
150
|
-
|
151
|
-
|
152
80
|
# Used to check for routes formatted: /:paramater - required parameters
|
153
81
|
REGEXP_REQUIRED_PARAMS = /^\:([^\(\)\{\}\:]*)$/
|
154
82
|
# Used to check for routes formatted: /(:paramater) - optional parameters
|
@@ -279,7 +207,6 @@ module Plezi
|
|
279
207
|
end
|
280
208
|
Object.const_set(new_class_name, ret)
|
281
209
|
Module.const_get(new_class_name).reset_routing_cache
|
282
|
-
ret.instance_exec(container) {|r| set_pl_route r;}
|
283
210
|
ret
|
284
211
|
end
|
285
212
|
|
data/lib/plezi/rake.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# Make sure the server doesn't start
|
2
|
+
Iodine.protocol = false
|
3
|
+
|
4
|
+
|
5
|
+
namespace :make do
|
6
|
+
# add ActiveRecord controller-model generator
|
7
|
+
|
8
|
+
# add Squel controller-model generator
|
9
|
+
|
10
|
+
end
|
11
|
+
# add console mode
|
12
|
+
desc "Same as `plezi c`: starts the application as a console, NOT a server."
|
13
|
+
task :console do
|
14
|
+
Kernel.exec "plezi c"
|
15
|
+
end
|
16
|
+
desc "Same as `rake console`: starts the application as a console, NOT a server."
|
17
|
+
task :c do
|
18
|
+
Kernel.exec "plezi c"
|
19
|
+
end
|
data/lib/plezi/version.rb
CHANGED
data/plezi.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_dependency "iodine", "~> 0.1.
|
21
|
+
spec.add_dependency "iodine", "~> 0.1.16"
|
22
22
|
spec.add_development_dependency "bundler", "~> 1.7"
|
23
23
|
spec.add_development_dependency "rake", "~> 10.0"
|
24
24
|
|
data/resources/rakefile
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
# load all application code and gems
|
2
2
|
load ::File.expand_path(File.join("..", "initialize.rb"), __FILE__)
|
3
|
-
|
4
|
-
|
5
|
-
Iodine.protocol = false
|
3
|
+
# set Plezi to rake mode and load it's tasks (if relevant).
|
4
|
+
require "plezi/rake"
|
6
5
|
|
7
6
|
# create a default task
|
8
7
|
desc "The default task will simply remind you to call 'rake -T'."
|
data/test/plezi_tests.rb
CHANGED
@@ -335,9 +335,9 @@ module PleziTestTasks
|
|
335
335
|
end
|
336
336
|
end
|
337
337
|
def test_url_for
|
338
|
-
test_url = "/some/path/test/my_url/ask
|
339
|
-
puts " * simple #url_for test: #{RESULTS[URI.parse("http://localhost:3000" + test_url).read == test_url]}"
|
340
|
-
test_url = "/some/another_path/my_url/ask
|
338
|
+
test_url = "/some/path/test/my_url/ask"
|
339
|
+
puts " * simple #url_for test: #{RESULTS[(URI.parse("http://localhost:3000" + test_url).read == test_url) || puts("Got path: #{URI.parse("http://localhost:3000" + test_url).read}")]}"
|
340
|
+
test_url = "/some/another_path/my_url/ask"
|
341
341
|
puts " * missing arguments #url_for test: #{RESULTS[URI.parse("http://localhost:3000" + test_url).read == test_url]}"
|
342
342
|
|
343
343
|
rescue => e
|
@@ -364,7 +364,7 @@ module PleziTestTasks
|
|
364
364
|
end
|
365
365
|
end
|
366
366
|
ws2 = Iodine::Http::WebsocketClient.connect("ws://localhost:3000/") do |data|
|
367
|
-
next unless @is_connected || !( (@is_connected = true) )
|
367
|
+
next unless @is_connected || !( ( @is_connected = true ) == true )
|
368
368
|
if data == "unicast"
|
369
369
|
puts " * Websocket unicast message test: #{RESULTS[false]}"
|
370
370
|
unicast_test = :failed
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: plezi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Boaz Segev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: iodine
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.1.
|
19
|
+
version: 0.1.16
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.1.
|
26
|
+
version: 0.1.16
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,6 +100,7 @@ files:
|
|
100
100
|
- lib/plezi/helpers/mime_types.rb
|
101
101
|
- lib/plezi/oauth.rb
|
102
102
|
- lib/plezi/oauth/auth_controller.rb
|
103
|
+
- lib/plezi/rake.rb
|
103
104
|
- lib/plezi/version.rb
|
104
105
|
- logo/dark.png
|
105
106
|
- logo/light.png
|