applinks 0.1.4 → 0.1.5
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/Rakefile +9 -20
- data/app/helpers/applinks/application_helper.rb +1 -15
- data/app/views/applinks/_head.html.erb +34 -26
- data/lib/applinks/builder.rb +24 -17
- data/lib/applinks/engine.rb +8 -0
- data/lib/applinks/version.rb +1 -1
- data/{test → spec}/dummy/Rakefile +0 -0
- data/{test → spec}/dummy/app/assets/javascripts/application.js +0 -0
- data/{test → spec}/dummy/app/assets/stylesheets/application.css +0 -0
- data/{test → spec}/dummy/app/controllers/application_controller.rb +0 -0
- data/spec/dummy/app/controllers/home_controller.rb +4 -0
- data/{test → spec}/dummy/app/helpers/application_helper.rb +0 -0
- data/spec/dummy/app/helpers/home_helper.rb +2 -0
- data/spec/dummy/app/views/home/index.html.erb +1 -0
- data/spec/dummy/app/views/layouts/application.html.erb +45 -0
- data/{test → spec}/dummy/bin/bundle +0 -0
- data/{test → spec}/dummy/bin/rails +0 -0
- data/{test → spec}/dummy/bin/rake +0 -0
- data/{test → spec}/dummy/config/application.rb +2 -1
- data/{test → spec}/dummy/config/boot.rb +0 -0
- data/{test → spec}/dummy/config/database.yml +0 -0
- data/{test → spec}/dummy/config/environment.rb +0 -0
- data/{test → spec}/dummy/config/environments/development.rb +0 -6
- data/{test → spec}/dummy/config/environments/production.rb +0 -0
- data/{test → spec}/dummy/config/environments/test.rb +0 -5
- data/{test → spec}/dummy/config/initializers/backtrace_silencers.rb +0 -0
- data/{test → spec}/dummy/config/initializers/filter_parameter_logging.rb +0 -0
- data/{test → spec}/dummy/config/initializers/inflections.rb +0 -0
- data/{test → spec}/dummy/config/initializers/mime_types.rb +0 -0
- data/{test → spec}/dummy/config/initializers/secret_token.rb +1 -1
- data/{test → spec}/dummy/config/initializers/session_store.rb +0 -0
- data/{test → spec}/dummy/config/initializers/wrap_parameters.rb +0 -0
- data/{test → spec}/dummy/config/locales/en.yml +0 -0
- data/spec/dummy/config/routes.rb +3 -0
- data/{test → spec}/dummy/config.ru +0 -0
- data/{test/dummy/public/favicon.ico → spec/dummy/db/development.sqlite3} +0 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +210 -0
- data/spec/dummy/log/test.log +3240 -0
- data/{test → spec}/dummy/public/404.html +0 -0
- data/{test → spec}/dummy/public/422.html +0 -0
- data/{test → spec}/dummy/public/500.html +0 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/spec/controllers/home_controller_spec.rb +5 -0
- data/spec/dummy/spec/helpers/application_helper_spec.rb +318 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/1c9faaf28d05409b88ad3113374d613c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2822de3b22c28bd5e718c9bf500457b2 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/40fc2f3d2a468a00e463f1d313cb1683 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/a9f028f7a492b5907ed80268be8f50f4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/b878faf942403e313a5b103e5d80488e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/edbef6e0d0a4742346cf479f2c522eb0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/pids/server.pid +1 -0
- data/spec/spec_helper.rb +21 -0
- metadata +123 -71
- data/test/applinks_test.rb +0 -7
- data/test/dummy/README.rdoc +0 -28
- data/test/dummy/app/views/layouts/application.html.erb +0 -14
- data/test/dummy/config/routes.rb +0 -4
- data/test/integration/navigation_test.rb +0 -10
- data/test/test_helper.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aab8be02e87eac63ca5d1a64554d97c79126d08d
|
4
|
+
data.tar.gz: 28aa8fb8ab99e04177c81c68ecc68a20c2f9f3bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d739dc1a28c2c4616cfd2b08ea88e0455bfce7afc638ff90d5ff1530f88f0c30d6c4491e1bd703f475c5e54f80db1cae3db8ca49049420703363f4592156c54
|
7
|
+
data.tar.gz: ebfa39dc02e3f22de9dd4c0fdeaef974220084b2c8c751b0a352d199d72a5360effdb8870712830f6533890e627b55316d0f933665e50c27b5081fb347417555
|
data/Rakefile
CHANGED
@@ -1,34 +1,23 @@
|
|
1
|
+
#!/usr/bin/env rake
|
1
2
|
begin
|
2
3
|
require 'bundler/setup'
|
3
4
|
rescue LoadError
|
4
5
|
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
5
6
|
end
|
6
7
|
|
7
|
-
|
8
|
+
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
8
9
|
|
9
|
-
RDoc::Task.new(:rdoc) do |rdoc|
|
10
|
-
rdoc.rdoc_dir = 'rdoc'
|
11
|
-
rdoc.title = 'Applinks'
|
12
|
-
rdoc.options << '--line-numbers'
|
13
|
-
rdoc.rdoc_files.include('README.rdoc')
|
14
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
|
-
end
|
16
|
-
|
17
|
-
APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
|
18
10
|
load 'rails/tasks/engine.rake'
|
19
11
|
|
20
|
-
|
21
|
-
|
22
12
|
Bundler::GemHelper.install_tasks
|
23
13
|
|
24
|
-
|
14
|
+
Dir[File.join(File.dirname(__FILE__), 'tasks/**/*.rake')].each { |f| load f }
|
25
15
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
t.verbose = false
|
31
|
-
end
|
16
|
+
require 'rspec/core'
|
17
|
+
require 'rspec/core/rake_task'
|
18
|
+
|
19
|
+
desc "Run all specs in spec directory (excluding plugin specs)"
|
32
20
|
|
21
|
+
RSpec::Core::RakeTask.new(:spec => 'app:db:test:prepare')
|
33
22
|
|
34
|
-
task default
|
23
|
+
task :default => :spec
|
@@ -1,20 +1,6 @@
|
|
1
1
|
module Applinks
|
2
2
|
module ApplicationHelper
|
3
|
-
def
|
4
|
-
{
|
5
|
-
ios: {
|
6
|
-
url: 'applinks://docs',
|
7
|
-
app_store_id: '12345',
|
8
|
-
app_name: 'App Links'
|
9
|
-
},
|
10
|
-
android: {
|
11
|
-
url: 'applinks://docs',
|
12
|
-
package: 'org.applinks',
|
13
|
-
app_name: 'App Links'
|
14
|
-
}
|
15
|
-
}
|
16
|
-
end
|
17
|
-
def applinks(data = demo_data, template = 'applinks/head')
|
3
|
+
def applinks(data = {}, template = 'applinks/head')
|
18
4
|
builder = Applinks::Builder.new(Applinks::Config.config, data)
|
19
5
|
render(:partial => template,
|
20
6
|
:locals => {applinks_builder: builder})
|
@@ -1,60 +1,68 @@
|
|
1
1
|
<% applinks_builder.ios do |app| %>
|
2
|
-
|
2
|
+
<% if app.versioned %>
|
3
|
+
<meta property="al:ios" />
|
4
|
+
<% end %>
|
5
|
+
<meta property="al:ios:url" content="<%= app.url %>" />
|
3
6
|
<% if app.app_store_id %>
|
4
|
-
<meta property="al:ios:app_store_id" content="<%= app.app_store_id %>"/>
|
7
|
+
<meta property="al:ios:app_store_id" content="<%= app.app_store_id %>" />
|
5
8
|
<% end %>
|
6
9
|
<% if app.app_name %>
|
7
|
-
<meta property="al:ios:app_name" content="<%= app.app_name %>"/>
|
10
|
+
<meta property="al:ios:app_name" content="<%= app.app_name %>" />
|
8
11
|
<% end %>
|
9
12
|
<% end %>
|
10
|
-
|
11
13
|
<% applinks_builder.iphone do |app| %>
|
12
|
-
|
14
|
+
<% if app.versioned %>
|
15
|
+
<meta property="al:iphone" />
|
16
|
+
<% end %>
|
17
|
+
<meta property="al:iphone:url" content="<%= app.url %>" />
|
13
18
|
<% if app.app_store_id %>
|
14
|
-
<meta property="al:iphone:app_store_id" content="<%= app.app_store_id %>"/>
|
19
|
+
<meta property="al:iphone:app_store_id" content="<%= app.app_store_id %>" />
|
15
20
|
<% end %>
|
16
21
|
<% if app.app_name %>
|
17
|
-
<meta property="al:iphone:app_name" content="<%= app.app_name %>"/>
|
22
|
+
<meta property="al:iphone:app_name" content="<%= app.app_name %>" />
|
18
23
|
<% end %>
|
19
24
|
<% end %>
|
20
|
-
|
21
25
|
<% applinks_builder.ipad do |app| %>
|
22
|
-
|
26
|
+
<% if app.versioned %>
|
27
|
+
<meta property="al:ipad" />
|
28
|
+
<% end %>
|
29
|
+
<meta property="al:ipad:url" content="<%= app.url %>" />
|
23
30
|
<% if app.app_store_id %>
|
24
|
-
<meta property="al:ipad:app_store_id" content="<%= app.app_store_id %>"/>
|
31
|
+
<meta property="al:ipad:app_store_id" content="<%= app.app_store_id %>" />
|
25
32
|
<% end %>
|
26
33
|
<% if app.app_name %>
|
27
|
-
<meta property="al:ipad:app_name" content="<%= app.app_name %>"/>
|
34
|
+
<meta property="al:ipad:app_name" content="<%= app.app_name %>" />
|
28
35
|
<% end %>
|
29
36
|
<% end %>
|
30
|
-
|
31
37
|
<% applinks_builder.android do |app| %>
|
32
|
-
|
38
|
+
<% if app.versioned %>
|
39
|
+
<meta property="al:android" />
|
40
|
+
<% end %>
|
41
|
+
<meta property="al:android:url" content="<%= app.url %>" />
|
33
42
|
<% if app.app_name %>
|
34
|
-
<meta property="al:android:app_name" content="<%= app.app_name %>"/>
|
43
|
+
<meta property="al:android:app_name" content="<%= app.app_name %>" />
|
35
44
|
<% end %>
|
36
45
|
<% if app.package %>
|
37
|
-
<meta property="al:android:package" content="<%= app.package %>"/>
|
46
|
+
<meta property="al:android:package" content="<%= app.package %>" />
|
38
47
|
<% end %>
|
39
48
|
<% end %>
|
40
|
-
|
41
49
|
<% applinks_builder.windows_phone do |app| %>
|
42
|
-
|
43
|
-
|
44
|
-
<meta property="al:windows_phone:app_name" content="<%= app.app_name %>"/>
|
50
|
+
<% if app.versioned %>
|
51
|
+
<meta property="al:windows_phone" />
|
45
52
|
<% end %>
|
53
|
+
<meta property="al:windows_phone:url" content="<%= app.url %>" />
|
46
54
|
<% if app.app_id %>
|
47
|
-
<meta property="al:windows_phone:app_id" content="<%= app.app_id %>"/>
|
55
|
+
<meta property="al:windows_phone:app_id" content="<%= app.app_id %>" />
|
56
|
+
<% end %>
|
57
|
+
<% if app.app_name %>
|
58
|
+
<meta property="al:windows_phone:app_name" content="<%= app.app_name %>" />
|
48
59
|
<% end %>
|
49
60
|
<% end %>
|
50
|
-
|
51
61
|
<% applinks_builder.web do |app| %>
|
52
62
|
<% if app.url && app.should_fallback? %>
|
53
|
-
<meta property="al:web:url" content="<%= app.url %>"/>
|
63
|
+
<meta property="al:web:url" content="<%= app.url %>" />
|
54
64
|
<% end %>
|
55
65
|
<% unless app.should_fallback? %>
|
56
|
-
<meta property="al:web:should_fallback" content="false"/>
|
57
|
-
<% end %>
|
66
|
+
<meta property="al:web:should_fallback" content="false" />
|
58
67
|
<% end %>
|
59
|
-
|
60
|
-
|
68
|
+
<% end %>
|
data/lib/applinks/builder.rb
CHANGED
@@ -46,15 +46,21 @@ module Applinks
|
|
46
46
|
def app_block key, block_class
|
47
47
|
if block_given?
|
48
48
|
if @data.has_key? key
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
49
|
+
|
50
|
+
suppliedAppData= @data[key]
|
51
|
+
suppliedAppData = [@data[key]] unless suppliedAppData.instance_of? Array
|
52
|
+
|
53
|
+
suppliedAppData.each do |versionData|
|
54
|
+
appData = block_class.new versionData, suppliedAppData.length > 1
|
55
|
+
if appData.valid?
|
56
|
+
if @config.debug
|
57
|
+
puts "Applinks: applying invalid block #{key} as #{appData.class.name} -> #{@data[key]} "
|
58
|
+
end
|
59
|
+
yield appData
|
60
|
+
else
|
61
|
+
if @config.debug
|
62
|
+
puts "Applinks: skipping invalid block #{key} -> #{@data[key]}"
|
63
|
+
end
|
58
64
|
end
|
59
65
|
end
|
60
66
|
end
|
@@ -74,10 +80,11 @@ module Applinks
|
|
74
80
|
end
|
75
81
|
|
76
82
|
class AppBlock < MetaBlock
|
77
|
-
attr_reader :app_name
|
83
|
+
attr_reader :app_name, :versioned
|
78
84
|
|
79
|
-
def initialize hsh
|
80
|
-
super
|
85
|
+
def initialize hsh, versioned
|
86
|
+
super(hsh)
|
87
|
+
@versioned = versioned
|
81
88
|
@app_name = hsh[:app_name] if hsh.has_key?(:app_name)
|
82
89
|
end
|
83
90
|
end
|
@@ -85,7 +92,7 @@ module Applinks
|
|
85
92
|
class IOSBlock < AppBlock
|
86
93
|
attr_reader :app_store_id, :app_name
|
87
94
|
|
88
|
-
def initialize hsh
|
95
|
+
def initialize hsh, versioned
|
89
96
|
super
|
90
97
|
@app_store_id = hsh[:app_store_id] if hsh.has_key?(:app_store_id)
|
91
98
|
end
|
@@ -97,7 +104,7 @@ module Applinks
|
|
97
104
|
class AndroidBlock < AppBlock
|
98
105
|
attr_reader :package, :app_name
|
99
106
|
|
100
|
-
def initialize hsh
|
107
|
+
def initialize hsh, versioned
|
101
108
|
super
|
102
109
|
@package = hsh[:package] if hsh.has_key?(:package)
|
103
110
|
end
|
@@ -109,7 +116,7 @@ module Applinks
|
|
109
116
|
class WindowsPhoneBlock < AppBlock
|
110
117
|
attr_reader :app_id, :app_name
|
111
118
|
|
112
|
-
def initialize hsh
|
119
|
+
def initialize hsh, versioned
|
113
120
|
super
|
114
121
|
@app_id = hsh[:app_id] if hsh.has_key?(:app_id)
|
115
122
|
end
|
@@ -119,8 +126,8 @@ module Applinks
|
|
119
126
|
end
|
120
127
|
end
|
121
128
|
class WebBlock < MetaBlock
|
122
|
-
def initialize hsh = {}
|
123
|
-
super
|
129
|
+
def initialize hsh = {}, _unused
|
130
|
+
super(hsh)
|
124
131
|
@should_fallback = hsh.has_key?(:should_fallback) ? hsh[:should_fallback] : false
|
125
132
|
end
|
126
133
|
|
data/lib/applinks/engine.rb
CHANGED
@@ -4,5 +4,13 @@ module Applinks
|
|
4
4
|
initializer "applinks" do |app|
|
5
5
|
::ApplicationHelper.send :include, Applinks::ApplicationHelper
|
6
6
|
end
|
7
|
+
|
8
|
+
config.generators do |g|
|
9
|
+
g.test_framework :rspec, :fixture => false
|
10
|
+
g.fixture_replacement :factory_girl, :dir => 'spec/factories'
|
11
|
+
g.assets false
|
12
|
+
g.helper false
|
13
|
+
end
|
14
|
+
|
7
15
|
end
|
8
16
|
end
|
data/lib/applinks/version.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
Hello World
|
@@ -0,0 +1,45 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Dummy App For Applinks Testing</title>
|
5
|
+
<%= applinks(
|
6
|
+
{
|
7
|
+
ios: {
|
8
|
+
url: 'myapp://docs_for_me',
|
9
|
+
app_store_id: '123456',
|
10
|
+
app_name: 'My IOS App Name'
|
11
|
+
},
|
12
|
+
ipad: {
|
13
|
+
url: 'myapp://docs_for_me',
|
14
|
+
app_store_id: 'ipad1234567',
|
15
|
+
app_name: 'My iPad App Name'
|
16
|
+
},
|
17
|
+
iphone: {
|
18
|
+
url: 'myapp://docs_for_me',
|
19
|
+
app_store_id: 'iphone1234568',
|
20
|
+
app_name: 'My iPhone App Name'
|
21
|
+
},
|
22
|
+
android: {
|
23
|
+
url: 'myapp://docs_for_me',
|
24
|
+
package: 'org.example.package',
|
25
|
+
app_name: 'My Android AppName'
|
26
|
+
},
|
27
|
+
windows_phone: {
|
28
|
+
url: 'myapp://docs_for_me',
|
29
|
+
app_id: 'wpAppId',
|
30
|
+
app_name: 'My Windows Phone AppName'
|
31
|
+
},
|
32
|
+
web: {
|
33
|
+
url: 'http://example.org/fallback.html',
|
34
|
+
should_fallback: true
|
35
|
+
}
|
36
|
+
|
37
|
+
}) %>
|
38
|
+
|
39
|
+
</head>
|
40
|
+
<body>
|
41
|
+
|
42
|
+
<%= yield %>
|
43
|
+
|
44
|
+
</body>
|
45
|
+
</html>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -13,15 +13,9 @@ Dummy::Application.configure do
|
|
13
13
|
config.consider_all_requests_local = true
|
14
14
|
config.action_controller.perform_caching = false
|
15
15
|
|
16
|
-
# Don't care if the mailer can't send.
|
17
|
-
config.action_mailer.raise_delivery_errors = false
|
18
|
-
|
19
16
|
# Print deprecation notices to the Rails logger.
|
20
17
|
config.active_support.deprecation = :log
|
21
18
|
|
22
|
-
# Raise an error on page load if there are pending migrations
|
23
|
-
config.active_record.migration_error = :page_load
|
24
|
-
|
25
19
|
# Debug mode disables concatenation and preprocessing of assets.
|
26
20
|
# This option may cause significant delays in view rendering with a large
|
27
21
|
# number of complex assets.
|
File without changes
|
@@ -26,11 +26,6 @@ Dummy::Application.configure do
|
|
26
26
|
# Disable request forgery protection in test environment.
|
27
27
|
config.action_controller.allow_forgery_protection = false
|
28
28
|
|
29
|
-
# Tell Action Mailer not to deliver emails to the real world.
|
30
|
-
# The :test delivery method accumulates sent emails in the
|
31
|
-
# ActionMailer::Base.deliveries array.
|
32
|
-
config.action_mailer.delivery_method = :test
|
33
|
-
|
34
29
|
# Print deprecation notices to the stderr.
|
35
30
|
config.active_support.deprecation = :stderr
|
36
31
|
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -9,4 +9,4 @@
|
|
9
9
|
|
10
10
|
# Make sure your secret_key_base is kept private
|
11
11
|
# if you're sharing your code publicly.
|
12
|
-
Dummy::Application.config.secret_key_base = '
|
12
|
+
Dummy::Application.config.secret_key_base = 'e25843c5ffde6f19a50e0d1bf9da0b5492e80190d5cd35fff1b3a789fef51c4ccabf27d0b887f117534aef7335f49907e5ae4e2c3f042950c7c01543dec4aec5'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|