platform 3.1.1 → 3.1.2
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/Gemfile.lock +1 -3
- data/README.rdoc +140 -3
- data/app/assets/images/platform/help/app_reg.png +0 -0
- data/app/assets/images/platform/help/app_reg_ext.png +0 -0
- data/app/assets/images/platform/help/app_reg_web.png +0 -0
- data/app/assets/images/platform/help/auth_desktop.png +0 -0
- data/app/assets/images/platform/help/auth_iframe.png +0 -0
- data/app/assets/images/platform/help/auth_iphone.png +0 -0
- data/app/assets/images/platform/help/auth_web.png +0 -0
- data/app/assets/images/platform/help/authorize.png +0 -0
- data/app/assets/images/platform/help/ext.png +0 -0
- data/app/assets/images/platform/help/login_desktop.png +0 -0
- data/app/assets/images/platform/help/login_iphone.png +0 -0
- data/app/assets/images/platform/help/login_web.png +0 -0
- data/app/assets/images/platform/help/register_desktop.png +0 -0
- data/app/assets/images/platform/help/register_iphone.png +0 -0
- data/app/assets/javascripts/platform/platform.js +1 -1
- data/app/controllers/platform/api/base_controller.rb +24 -14
- data/app/controllers/platform/apps_controller.rb +16 -0
- data/app/controllers/platform/developer/help_controller.rb +2 -15
- data/app/controllers/platform/oauth_controller.rb +3 -3
- data/app/helpers/platform/admin/categories_helper.rb +1 -1
- data/app/helpers/platform/developer/help_helper.rb +2 -1
- data/app/models/platform/application.rb +2 -0
- data/app/models/platform/developer.rb +2 -0
- data/app/models/platform/logged_exception.rb +1 -1
- data/app/views/platform/admin/clientsdk/index.html.erb +12 -12
- data/app/views/platform/apps/_search_apps_module.html.erb +1 -1
- data/app/views/platform/apps/settings.html.erb +77 -0
- data/app/views/platform/developer/api_explorer/options.html.erb +0 -2
- data/app/views/platform/developer/dashboard/index.html.erb +1 -1
- data/app/views/platform/developer/help/_navigation.html.erb +1 -1
- data/app/views/platform/developer/help/oauth_client_side.html.erb +17 -15
- data/app/views/platform/developer/help/oauth_extensions.html.erb +1 -1
- data/app/views/platform/developer/help/oauth_mobile.html.erb +12 -12
- data/app/views/platform/developer/help/oauth_server_side.html.erb +6 -6
- data/app/views/platform/developer/help/sdk_ios.html.erb +3 -3
- data/app/views/platform/developer/help/sdk_js.html.erb +13 -185
- data/app/views/platform/developer/info/_basic_info.html.erb +1 -1
- data/app/views/platform/developer/info/_header.html.erb +3 -3
- data/app/views/platform/developer/registration/index.html.erb +30 -30
- data/app/views/platform/oauth/_authorization_box.html.erb +6 -7
- data/app/views/platform/oauth/_authorization_popup.html.erb +1 -1
- data/app/views/platform/oauth/authorize_desktop.html.erb +1 -76
- data/config/routes.rb +2 -4
- data/lib/generators/platform/proxy_generator.rb +78 -0
- data/lib/generators/platform/templates/config/platform/api/0/platform.yml +55 -0
- data/lib/generators/platform/templates/config/platform/api/0/platform_application.yml +37 -0
- data/lib/generators/platform/templates/config/platform/api/0/platform_developer.yml +22 -0
- data/{config → lib/generators/platform/templates/config}/platform/config.yml +22 -19
- data/{config → lib/generators/platform/templates/config}/platform/data/default_applications.yml +0 -0
- data/{config → lib/generators/platform/templates/config}/platform/data/default_categories.yml +0 -0
- data/{config → lib/generators/platform/templates/config}/platform/data/default_permissions.yml +0 -0
- data/{config → lib/generators/platform/templates/config}/platform/site/features.yml +0 -0
- data/lib/platform.rb +23 -0
- data/lib/platform/api/proxy/base.rb +5 -2
- data/lib/platform/cache.rb +1 -1
- data/lib/platform/config.rb +20 -3
- data/lib/platform/engine.rb +23 -0
- data/lib/platform/exception.rb +1 -1
- data/lib/platform/extensions/action_view_extension.rb +25 -0
- data/lib/platform/helper.rb +1 -1
- data/lib/platform/logger.rb +1 -1
- data/lib/platform/random_password_generator.rb +1 -1
- data/lib/platform/simple_string_permissions.rb +1 -1
- data/lib/platform/version.rb +24 -1
- data/lib/tasks/platform.rake +1 -1
- data/platform.gemspec +1 -1
- data/test/dummy/.pryrc +15 -0
- data/test/dummy/app/controllers/api/base_controller.rb +0 -1
- data/test/dummy/app/controllers/api/bookmarks_controller.rb +6 -1
- data/{app/controllers/platform/developer/resources_controller.rb → test/dummy/app/controllers/api/platform_controller.rb} +16 -2
- data/test/dummy/app/controllers/api/users_controller.rb +1 -0
- data/test/dummy/app/controllers/login_controller.rb +2 -1
- data/test/dummy/app/models/user.rb +8 -0
- data/test/dummy/app/views/layouts/_header.html.erb +1 -0
- data/test/dummy/app/views/layouts/blank.html.erb +24 -0
- data/test/dummy/app/views/layouts/mobile.html.erb +68 -0
- data/test/dummy/app/views/login/index.html.erb +1 -2
- data/test/dummy/app/views/login/register.html.erb +3 -3
- data/test/dummy/config/application.rb +1 -1
- data/test/dummy/config/platform/api/1/bookmark.yml +23 -3
- data/test/dummy/config/platform/api/1/platform.yml +55 -0
- data/test/dummy/config/platform/api/1/platform_application.yml +37 -0
- data/test/dummy/config/platform/api/1/platform_developer.yml +22 -0
- data/test/dummy/config/platform/api/1/user.yml +1 -1
- data/test/dummy/config/platform/config.yml +5 -4
- data/test/dummy/config/routes.rb +4 -0
- data/test/dummy/config/tr8n/config.yml +1 -1
- data/test/dummy/lib/platform/api/platform_application_proxy_0.rb +28 -0
- data/test/dummy/lib/platform/api/platform_developer_proxy_0.rb +19 -0
- metadata +72 -65
- data/app/assets/images/platform/help/login.png +0 -0
- data/app/assets/javascripts/platform/jsdk.js +0 -539
- data/app/controllers/platform/api/apps_controller.rb +0 -40
- data/app/views/platform/developer/resources/index.html.erb +0 -23
- data/test/dummy/config/platform/site/sample_apps.yml +0 -100
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
platform_developer:
|
|
2
|
+
type: "struct"
|
|
3
|
+
title: "Platform Developer"
|
|
4
|
+
path: "platform/developer"
|
|
5
|
+
description: "Returns information about a developer."
|
|
6
|
+
|
|
7
|
+
fields:
|
|
8
|
+
id:
|
|
9
|
+
description: "The developer's id"
|
|
10
|
+
type: "Number"
|
|
11
|
+
name:
|
|
12
|
+
description: "The developer's name"
|
|
13
|
+
type: "String"
|
|
14
|
+
about:
|
|
15
|
+
description: "The developer's description"
|
|
16
|
+
type: "String"
|
|
17
|
+
url:
|
|
18
|
+
description: "The developer's url"
|
|
19
|
+
type: "String"
|
|
20
|
+
created_at:
|
|
21
|
+
description: "The developer's creation timestamp"
|
|
22
|
+
type: "Number"
|
|
@@ -17,7 +17,7 @@ defaults: &defaults
|
|
|
17
17
|
enable_developer_agreement: false
|
|
18
18
|
enable_app_statistics: false
|
|
19
19
|
enable_api_verification: false
|
|
20
|
-
api_explorer_app_id:
|
|
20
|
+
api_explorer_app_id: 1 # make sure to create an application for the test tool
|
|
21
21
|
|
|
22
22
|
#############################################################################
|
|
23
23
|
# Platform best run with caching enabled
|
|
@@ -36,7 +36,8 @@ defaults: &defaults
|
|
|
36
36
|
#############################################################################
|
|
37
37
|
caching:
|
|
38
38
|
enabled: false
|
|
39
|
-
adapter: "
|
|
39
|
+
adapter: "ActiveSupport::Cache"
|
|
40
|
+
cache_store: ["mem_cache_store", "localhost:11211"]
|
|
40
41
|
version: 1 # you can change the version to invalidate the cache
|
|
41
42
|
|
|
42
43
|
#############################################################################
|
|
@@ -51,18 +52,23 @@ defaults: &defaults
|
|
|
51
52
|
# Site Integration Settings
|
|
52
53
|
#############################################################################
|
|
53
54
|
site_info:
|
|
54
|
-
title: "Sample"
|
|
55
|
+
title: "Sample Application"
|
|
56
|
+
logo_url: "/assets/platform/platform5.png"
|
|
55
57
|
base_url: "localhost:3000"
|
|
56
|
-
contact_email:
|
|
58
|
+
contact_email: feedback@oauthx.com
|
|
57
59
|
default_url: "/home"
|
|
58
60
|
login_url: "/login"
|
|
61
|
+
logout_url: "/login/out"
|
|
59
62
|
platform_layout: application
|
|
60
63
|
admin_layout: admin
|
|
61
|
-
|
|
64
|
+
oauth_web_layout: minimal
|
|
65
|
+
oauth_popup_layout: popup
|
|
66
|
+
oauth_iframe_layout: blank
|
|
67
|
+
oauth_mobile_layout: mobile
|
|
68
|
+
oauth_desktop_layout: popup
|
|
62
69
|
system_user_id: 10
|
|
63
70
|
media_directory: "/media/p1"
|
|
64
71
|
user_info:
|
|
65
|
-
enabled: true
|
|
66
72
|
current_user_method: current_user
|
|
67
73
|
logout_method: "logout!"
|
|
68
74
|
class_name: User
|
|
@@ -70,17 +76,17 @@ defaults: &defaults
|
|
|
70
76
|
id: id
|
|
71
77
|
name: name
|
|
72
78
|
email: "email"
|
|
73
|
-
link:
|
|
74
|
-
mugshot:
|
|
79
|
+
link: link
|
|
80
|
+
mugshot: mugshot
|
|
75
81
|
admin: admin?
|
|
76
82
|
guest: guest?
|
|
77
83
|
locale: language
|
|
78
84
|
media_info:
|
|
79
|
-
enabled:
|
|
85
|
+
enabled: false # use internal implementation
|
|
80
86
|
class_name: "Platform::Media::Image"
|
|
81
87
|
write_method: "write"
|
|
82
|
-
logo_url_method: "
|
|
83
|
-
icon_url_method: "
|
|
88
|
+
logo_url_method: "url"
|
|
89
|
+
icon_url_method: "url"
|
|
84
90
|
|
|
85
91
|
#############################################################################
|
|
86
92
|
# API Settings
|
|
@@ -88,9 +94,11 @@ defaults: &defaults
|
|
|
88
94
|
API:
|
|
89
95
|
enabled: true
|
|
90
96
|
base_url: "localhost:3000/api"
|
|
97
|
+
scheme: "http" # can also provide an array ["http", "https"]
|
|
91
98
|
config_path: "config/platform/api"
|
|
99
|
+
proxies_path: "lib/platform/api"
|
|
92
100
|
logging_enabled: true
|
|
93
|
-
admin_email:
|
|
101
|
+
admin_email: feedback@oauthx.com
|
|
94
102
|
allow_public: true
|
|
95
103
|
cookies_enabled: true
|
|
96
104
|
max_models: 50
|
|
@@ -100,8 +108,8 @@ defaults: &defaults
|
|
|
100
108
|
supported_versions: ['1', '0']
|
|
101
109
|
default_version: '1'
|
|
102
110
|
explorer_groups:
|
|
103
|
-
'0': [['
|
|
104
|
-
'1': [['
|
|
111
|
+
'0': [['user'], ['bookmark']]
|
|
112
|
+
'1': [['platform', 'user'], ['bookmark']]
|
|
105
113
|
user:
|
|
106
114
|
create_enabled: true
|
|
107
115
|
|
|
@@ -111,8 +119,6 @@ defaults: &defaults
|
|
|
111
119
|
#############################################################################
|
|
112
120
|
development:
|
|
113
121
|
<<: *defaults
|
|
114
|
-
enable_api_verification: true
|
|
115
|
-
api_explorer_app_id: "TBUDuxvLLqY7ndxjzS5hnPykVMl1hIN29RwfKjh1"
|
|
116
122
|
|
|
117
123
|
test:
|
|
118
124
|
<<: *defaults
|
|
@@ -122,12 +128,9 @@ qa:
|
|
|
122
128
|
|
|
123
129
|
stage:
|
|
124
130
|
<<: *defaults
|
|
125
|
-
api_explorer_app_id: "ci9EG77hmXg53AEsKlRuDe9TL2beeGupq6slAHMX"
|
|
126
131
|
|
|
127
132
|
production:
|
|
128
133
|
<<: *defaults
|
|
129
|
-
api_explorer_app_id: "ci9EG77hmXg53AEsKlRuDe9TL2beeGupq6slAHMX"
|
|
130
134
|
|
|
131
135
|
sandbox:
|
|
132
136
|
<<: *defaults
|
|
133
|
-
api_explorer_app_id: "tAGjqNSsCYfbDP3At9Qaf3UDrcZfIHbJH7Jp29Nn"
|
data/{config → lib/generators/platform/templates/config}/platform/data/default_applications.yml
RENAMED
|
File without changes
|
data/{config → lib/generators/platform/templates/config}/platform/data/default_categories.yml
RENAMED
|
File without changes
|
data/{config → lib/generators/platform/templates/config}/platform/data/default_permissions.yml
RENAMED
|
File without changes
|
|
File without changes
|
data/lib/platform.rb
CHANGED
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
#--
|
|
2
|
+
# Copyright (c) 2011 Michael Berkovich
|
|
3
|
+
#
|
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
|
5
|
+
# a copy of this software and associated documentation files (the
|
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
|
10
|
+
# the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be
|
|
13
|
+
# included in all copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
22
|
+
#++
|
|
23
|
+
|
|
1
24
|
require File.join(File.dirname(__FILE__), 'platform/railtie')
|
|
2
25
|
require File.join(File.dirname(__FILE__), 'platform/engine')
|
|
3
26
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
require 'platform/api/proxy'
|
|
2
|
-
|
|
3
1
|
module Platform
|
|
4
2
|
module Api
|
|
5
3
|
module Proxy
|
|
@@ -55,6 +53,11 @@ module Platform
|
|
|
55
53
|
"#{Platform::Config.api_scheme}://#{Platform::Config.api_base_url}/#{instance.class.name.underscore}/#{instance.id}"
|
|
56
54
|
end
|
|
57
55
|
|
|
56
|
+
def full_url(url)
|
|
57
|
+
return url if url.index('http')
|
|
58
|
+
"http://#{Platform::Config.site_base_url}#{url}"
|
|
59
|
+
end
|
|
60
|
+
|
|
58
61
|
end # class Base
|
|
59
62
|
|
|
60
63
|
end # module Proxy
|
data/lib/platform/cache.rb
CHANGED
data/lib/platform/config.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#--
|
|
2
|
-
# Copyright (c) 2011 Michael Berkovich
|
|
2
|
+
# Copyright (c) 2011 Michael Berkovich
|
|
3
3
|
#
|
|
4
4
|
# Permission is hereby granted, free of charge, to any person obtaining
|
|
5
5
|
# a copy of this software and associated documentation files (the
|
|
@@ -606,12 +606,12 @@ module Platform
|
|
|
606
606
|
!api_explorer_app_id.blank?
|
|
607
607
|
end
|
|
608
608
|
|
|
609
|
-
def self.
|
|
609
|
+
def self.api_proxies_path
|
|
610
610
|
api[:proxies_path]
|
|
611
611
|
end
|
|
612
612
|
|
|
613
613
|
def self.load_proxies
|
|
614
|
-
Dir["#{root}/#{
|
|
614
|
+
Dir["#{root}/#{api_proxies_path}/*_proxy_*.rb"].each do |file|
|
|
615
615
|
require_or_load file
|
|
616
616
|
end
|
|
617
617
|
end
|
|
@@ -640,6 +640,23 @@ module Platform
|
|
|
640
640
|
@api_reference[api_version]
|
|
641
641
|
end
|
|
642
642
|
|
|
643
|
+
def self.api_reference_by_path(api_version, path)
|
|
644
|
+
@api_reference_by_path ||= {}
|
|
645
|
+
@api_reference_by_path[api_version] ||= begin
|
|
646
|
+
api = api_reference(api_version)
|
|
647
|
+
by_path = {}
|
|
648
|
+
api.each do |key, defs|
|
|
649
|
+
by_path[defs["path"]] = api[key]
|
|
650
|
+
(defs[:actions] || []).each do |act_key, acts|
|
|
651
|
+
path = acts["path"] || "#{defs["path"]}/#{act_key}"
|
|
652
|
+
by_path[path] = defs[:actions][act_key]
|
|
653
|
+
end
|
|
654
|
+
end
|
|
655
|
+
by_path
|
|
656
|
+
end
|
|
657
|
+
@api_reference_by_path[api_version][path]
|
|
658
|
+
end
|
|
659
|
+
|
|
643
660
|
def self.api_explorer_groups(api_version = api_default_version)
|
|
644
661
|
api[:explorer_groups][api_version]
|
|
645
662
|
end
|
data/lib/platform/engine.rb
CHANGED
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
#--
|
|
2
|
+
# Copyright (c) 2011 Michael Berkovich
|
|
3
|
+
#
|
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
|
5
|
+
# a copy of this software and associated documentation files (the
|
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
|
10
|
+
# the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be
|
|
13
|
+
# included in all copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
22
|
+
#++
|
|
23
|
+
|
|
1
24
|
module Platform
|
|
2
25
|
class Engine < Rails::Engine
|
|
3
26
|
isolate_namespace Platform
|
data/lib/platform/exception.rb
CHANGED
|
@@ -163,6 +163,31 @@ module Platform
|
|
|
163
163
|
def platform_stringify_url(path, params)
|
|
164
164
|
"#{path}#{path.index('?') ? '&' : '?'}#{params.collect{|n,v| "#{n}=#{CGI.escape(v.to_s)}"}.join("&")}"
|
|
165
165
|
end
|
|
166
|
+
|
|
167
|
+
def platform_when_string_tr(key, opts = {})
|
|
168
|
+
tr(key, 'Time reference', opts)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
def platform_display_time(time, format)
|
|
172
|
+
time.tr(format).gsub('/ ', '/').sub(/^[0:]*/,"")
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
def platform_when_string_tag(time, opts = {})
|
|
176
|
+
elapsed_seconds = Time.now - time
|
|
177
|
+
return platform_when_string_tr("Today") if time.today_in_time_zone? if opts[:days_only]
|
|
178
|
+
return platform_when_string_tr('In the future, Marty!') if elapsed_seconds < 0
|
|
179
|
+
return platform_when_string_tr('A moment ago') if elapsed_seconds < 2.minutes
|
|
180
|
+
return platform_when_string_tr("{minutes||minute} ago", :minutes => (elapsed_seconds / 1.minute).to_i) if elapsed_seconds < 1.hour
|
|
181
|
+
return platform_when_string_tr("{hours||hour} ago", :hours => 1) if elapsed_seconds < 1.75.hours
|
|
182
|
+
return platform_when_string_tr("{hours||hour} ago", :hours => 2) if elapsed_seconds < 2.hours
|
|
183
|
+
return platform_when_string_tr("{hours||hour} ago", :hours => (elapsed_seconds / 1.hour).to_i) if elapsed_seconds < 1.day
|
|
184
|
+
return platform_when_string_tr("Yesterday") if elapsed_seconds < 48.hours
|
|
185
|
+
return platform_when_string_tr("{days||day} ago", :days => elapsed_seconds.to_i / 1.day) if elapsed_seconds < 14.days
|
|
186
|
+
return platform_when_string_tr("{weeks||week} ago", :weeks => (elapsed_seconds / 1.day / 7).to_i) if elapsed_weeks < 4
|
|
187
|
+
return platform_display_time(time, :monthname_abbr) if Date.today.year == time.year
|
|
188
|
+
return platform_display_time(time, :monthname_abbr_year)
|
|
189
|
+
end
|
|
190
|
+
|
|
166
191
|
end
|
|
167
192
|
end
|
|
168
193
|
end
|
data/lib/platform/helper.rb
CHANGED
data/lib/platform/logger.rb
CHANGED
data/lib/platform/version.rb
CHANGED
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
#--
|
|
2
|
+
# Copyright (c) 2011 Michael Berkovich
|
|
3
|
+
#
|
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
|
5
|
+
# a copy of this software and associated documentation files (the
|
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
|
10
|
+
# the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be
|
|
13
|
+
# included in all copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
22
|
+
#++
|
|
23
|
+
|
|
1
24
|
module Platform
|
|
2
|
-
VERSION = "3.1.
|
|
25
|
+
VERSION = "3.1.2"
|
|
3
26
|
end
|
data/lib/tasks/platform.rake
CHANGED
data/platform.gemspec
CHANGED
|
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
|
|
|
30
30
|
s.add_dependency 'coffee-script', ['>= 0']
|
|
31
31
|
s.add_dependency 'acts_as_tree', ['>= 0']
|
|
32
32
|
s.add_dependency 'acts_as_state_machine', ['>= 0']
|
|
33
|
-
s.add_dependency 'rmagick', ['>= 0']
|
|
33
|
+
# s.add_dependency 'rmagick', ['>= 0']
|
|
34
34
|
s.add_development_dependency 'pry', ['>= 0']
|
|
35
35
|
s.add_development_dependency 'bundler', ['>= 1.0.0']
|
|
36
36
|
s.add_development_dependency 'sqlite3', ['>= 0']
|
data/test/dummy/.pryrc
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
rails = File.join Dir.getwd, 'config', 'environment.rb'
|
|
2
|
+
|
|
3
|
+
if File.exist?(rails) && ENV['SKIP_RAILS'].nil?
|
|
4
|
+
require rails
|
|
5
|
+
|
|
6
|
+
if Rails.version[0..0] == "2"
|
|
7
|
+
require 'console_app'
|
|
8
|
+
require 'console_with_helpers'
|
|
9
|
+
elsif Rails.version[0..0] == "3"
|
|
10
|
+
require 'rails/console/app'
|
|
11
|
+
require 'rails/console/helpers'
|
|
12
|
+
else
|
|
13
|
+
warn "[WARN] cannot load Rails console commands (Not on Rails2 or Rails3?)"
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -2,10 +2,13 @@ class Api::BookmarksController < Api::BaseController
|
|
|
2
2
|
|
|
3
3
|
def index
|
|
4
4
|
ensure_get
|
|
5
|
-
|
|
5
|
+
ensure_ids_provided
|
|
6
|
+
ensure_ownership
|
|
7
|
+
render_response page_models
|
|
6
8
|
end
|
|
7
9
|
|
|
8
10
|
def create
|
|
11
|
+
ensure_logged_in
|
|
9
12
|
raise BadRequestError.new("Title and url must be provided") if params[:title].blank? or params[:url].blank?
|
|
10
13
|
bookmark = Bookmark.create(:user => current_user, :title => params[:title], :url => params[:url])
|
|
11
14
|
return redirect_to(params[:url]) if params[:bookmarklet]
|
|
@@ -13,6 +16,7 @@ class Api::BookmarksController < Api::BaseController
|
|
|
13
16
|
end
|
|
14
17
|
|
|
15
18
|
def update
|
|
19
|
+
ensure_logged_in
|
|
16
20
|
ensure_ownership
|
|
17
21
|
raise BadRequestError.new("Title and url must be provided") if params[:title].blank? or params[:url].blank?
|
|
18
22
|
page_model.update_attributes(params.slice(:title, :url))
|
|
@@ -20,6 +24,7 @@ class Api::BookmarksController < Api::BaseController
|
|
|
20
24
|
end
|
|
21
25
|
|
|
22
26
|
def delete
|
|
27
|
+
ensure_logged_in
|
|
23
28
|
ensure_post
|
|
24
29
|
ensure_ownership
|
|
25
30
|
page_model.destroy
|
|
@@ -21,10 +21,24 @@
|
|
|
21
21
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
22
22
|
#++
|
|
23
23
|
|
|
24
|
-
class
|
|
24
|
+
class Api::PlatformController < Api::BaseController
|
|
25
25
|
|
|
26
26
|
def index
|
|
27
|
-
|
|
27
|
+
render_response(:status => "ok")
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def apps
|
|
31
|
+
render_response(page_models)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def services
|
|
35
|
+
render_response Platform::Config.api_reference(api_version)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
private
|
|
39
|
+
|
|
40
|
+
def model_class
|
|
41
|
+
Platform::Application
|
|
28
42
|
end
|
|
29
43
|
|
|
30
44
|
end
|