mobile-pass 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,82 @@
1
+
2
+ # Copyright 2012 Xtreme Labs
3
+
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ require "rails"
17
+ require "rails/test_help"
18
+
19
+ require_relative '../lib/passbook-ruby'
20
+ require_relative '../lib/passbook/config'
21
+ require_relative '../lib/passbook/pkpass'
22
+
23
+
24
+ module Helpers
25
+
26
+ def zip_io zip_file_io
27
+ File.open("test.zip", 'w') do |file|
28
+ zip_file_io.rewind
29
+ file.write zip_file_io.sysread.force_encoding("UTF-8")
30
+ end
31
+ Zip::ZipInputStream::open("test.zip")
32
+ end
33
+
34
+ def file_from_zip zip_file_io, filename
35
+ io = zip_io zip_file_io
36
+ while (entry = io.get_next_entry) do
37
+ return io.read if entry.name == filename
38
+ end
39
+ nil
40
+ end
41
+
42
+ def check_file_in_zip zip_file_io, filename
43
+ io = zip_io zip_file_io
44
+ while (entry = io.get_next_entry) do
45
+ return true if entry.name == filename
46
+ end
47
+ false
48
+
49
+ # def zip_file_io.path
50
+ # 'bypass_rubyzip_issue'
51
+ # end
52
+ # puts "We got #{zip_file_io.size}"
53
+
54
+ # Zip::ZipInputStream::open_buffer(zip_file_io) do |io|
55
+ # entry = io.get_next_entry
56
+ # # while (entry = io.get_next_entry) do
57
+ # # puts "entry: #{entry.name}"
58
+ # # end
59
+ # end
60
+ end
61
+
62
+ def create_p12
63
+ root_key = OpenSSL::PKey::RSA.new 2048 # the CA's public/private key
64
+ root_ca = OpenSSL::X509::Certificate.new
65
+ root_ca.version = 2 # cf. RFC 5280 - to make it a "v3" certificate
66
+ root_ca.serial = 1
67
+ root_ca.subject = OpenSSL::X509::Name.parse "/DC=org/DC=ruby-lang/CN=Ruby CA"
68
+ root_ca.issuer = root_ca.subject # root CA's are "self-signed"
69
+ root_ca.public_key = root_key.public_key
70
+ root_ca.not_before = Time.now
71
+ root_ca.not_after = root_ca.not_before + 2 * 365 * 24 * 60 * 60 # 2 years validity
72
+ ef = OpenSSL::X509::ExtensionFactory.new
73
+ ef.subject_certificate = root_ca
74
+ ef.issuer_certificate = root_ca
75
+ root_ca.add_extension(ef.create_extension("basicConstraints","CA:TRUE",true))
76
+ root_ca.add_extension(ef.create_extension("keyUsage","keyCertSign, cRLSign", true))
77
+ root_ca.add_extension(ef.create_extension("subjectKeyIdentifier","hash",false))
78
+ root_ca.add_extension(ef.create_extension("authorityKeyIdentifier","keyid:always",false))
79
+ root_ca.sign(root_key, OpenSSL::Digest::SHA256.new)
80
+ OpenSSL::PKCS12.create("test", "test", root_key, root_ca)
81
+ end
82
+ end
metadata ADDED
@@ -0,0 +1,165 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mobile-pass
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Scott Fielder
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-09-20 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 3.1.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.1.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: rubyzip
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: json
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: activesupport
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '3.0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '3.0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: rspec
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>'
84
+ - !ruby/object:Gem::Version
85
+ version: '2.0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>'
92
+ - !ruby/object:Gem::Version
93
+ version: '2.0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rake
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ description: Passbook pkpass creation and management for Ruby projects
111
+ email: scottkfielder@gmail.com
112
+ executables: []
113
+ extensions: []
114
+ extra_rdoc_files: []
115
+ files:
116
+ - app/controllers/passbook/logs_controller.rb
117
+ - app/controllers/passbook/passes_controller.rb
118
+ - app/controllers/passbook/registrations_controller.rb
119
+ - app/models/passbook/registration.rb
120
+ - config/routes.rb
121
+ - lib/passbook/config.rb
122
+ - lib/passbook/engine.rb
123
+ - lib/passbook/pkpass.rb
124
+ - lib/passbook-ruby.rb
125
+ - lib/rails/generators/passbook/config/config_generator.rb
126
+ - lib/rails/generators/passbook/config/templates/initializer.rb
127
+ - lib/rails/generators/passbook/config/templates/migration.rb
128
+ - lib/rails/generators/passbook/pkpass/pkpass_generator.rb
129
+ - lib/rails/generators/passbook/pkpass/templates/icon.png
130
+ - lib/rails/generators/passbook/pkpass/templates/icon@2x.png
131
+ - lib/rails/generators/passbook/pkpass/templates/initializer.rb
132
+ - lib/rails/generators/passbook/pkpass/templates/migration.rb
133
+ - lib/rails/generators/passbook/pkpass/templates/model.rb
134
+ - lib/rails/generators/passbook/pkpass/templates/pass.json
135
+ - spec/config_spec.rb
136
+ - spec/data/templates/pass.com.acme/pass.json
137
+ - spec/pkpass_spec.rb
138
+ - spec/spec_helper.rb
139
+ - README.md
140
+ - LICENSE
141
+ homepage: https://github.com/sfielder/xl-passbook-ruby
142
+ licenses: []
143
+ post_install_message:
144
+ rdoc_options: []
145
+ require_paths:
146
+ - lib
147
+ required_ruby_version: !ruby/object:Gem::Requirement
148
+ none: false
149
+ requirements:
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: 1.9.0
153
+ required_rubygems_version: !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ! '>='
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ requirements: []
160
+ rubyforge_project: mobile-pass
161
+ rubygems_version: 1.8.24
162
+ signing_key:
163
+ specification_version: 3
164
+ summary: Passbook pkpass creation and management for Ruby projects
165
+ test_files: []