legal-docs 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm 1.9.3-p0@legal-docs
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source :rubygems
2
+
3
+ group :development do
4
+ gem "bundler", "~> 1.1.2"
5
+ gem "rspec", "~> 2.8.0"
6
+ gem "jeweler", "~> 1.8.3"
7
+ gem 'i18n-spec'
8
+ gem 'localeapp'
9
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,45 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ diff-lcs (1.1.3)
5
+ git (1.2.5)
6
+ gli (1.5.1)
7
+ i18n (0.6.0)
8
+ i18n-spec (0.2.1)
9
+ jeweler (1.8.3)
10
+ bundler (~> 1.0)
11
+ git (>= 1.2.5)
12
+ rake
13
+ rdoc
14
+ json (1.6.6)
15
+ localeapp (0.4.3)
16
+ gli
17
+ i18n
18
+ json
19
+ rest-client
20
+ ya2yaml
21
+ mime-types (1.18)
22
+ rake (0.9.2.2)
23
+ rdoc (3.12)
24
+ json (~> 1.4)
25
+ rest-client (1.6.7)
26
+ mime-types (>= 1.16)
27
+ rspec (2.8.0)
28
+ rspec-core (~> 2.8.0)
29
+ rspec-expectations (~> 2.8.0)
30
+ rspec-mocks (~> 2.8.0)
31
+ rspec-core (2.8.0)
32
+ rspec-expectations (2.8.0)
33
+ diff-lcs (~> 1.1.2)
34
+ rspec-mocks (2.8.0)
35
+ ya2yaml (0.31)
36
+
37
+ PLATFORMS
38
+ ruby
39
+
40
+ DEPENDENCIES
41
+ bundler (~> 1.1.2)
42
+ i18n-spec
43
+ jeweler (~> 1.8.3)
44
+ localeapp
45
+ rspec (~> 2.8.0)
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2012 Christopher Dell
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README ADDED
File without changes
data/Rakefile ADDED
@@ -0,0 +1,34 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
+ gem.name = "legal-docs"
18
+ gem.homepage = "http://github.com/tigrish/legal-docs"
19
+ gem.license = "MIT"
20
+ gem.summary = %Q{Customisable legal documents for your app}
21
+ gem.description = %Q{legal-docs provides a customisable privacy policy and terms of service, backed by I18n that can used in your apps.}
22
+ gem.email = "chris@tigrish.com"
23
+ gem.authors = ["Christopher Dell"]
24
+ # dependencies defined in Gemfile
25
+ end
26
+ Jeweler::RubygemsDotOrgTasks.new
27
+
28
+ require 'rspec/core'
29
+ require 'rspec/core/rake_task'
30
+ RSpec::Core::RakeTask.new(:spec) do |spec|
31
+ spec.pattern = FileList['spec/**/*_spec.rb']
32
+ end
33
+
34
+ task :default => :spec
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.2
data/config/i18n.rb ADDED
@@ -0,0 +1,3 @@
1
+ require 'i18n'
2
+ I18n.load_path << Dir[File.join(File.expand_path(File.dirname(__FILE__) + '/../locales'), '*.yml')]
3
+ I18n.load_path.flatten!
data/lib/legal_docs.rb ADDED
@@ -0,0 +1,61 @@
1
+ require File.dirname(__FILE__) + '../../config/i18n'
2
+
3
+ module LegalDocs
4
+ def self.privacy_policy
5
+ LegalDoc.new(:privacy_policy)
6
+ end
7
+
8
+ def self.terms_of_service
9
+ LegalDoc.new(:terms_of_service)
10
+ end
11
+
12
+ class LegalDoc
13
+ def initialize(doc)
14
+ @doc = doc
15
+ end
16
+
17
+ def title
18
+ I18n.t i18n_scope("docs.#{@doc}.title")
19
+ end
20
+
21
+ def content
22
+ I18n.t i18n_scope("docs.#{@doc}.body.markdown"), interpolations
23
+ end
24
+
25
+ protected
26
+
27
+ def interpolations
28
+ {
29
+ :arbitration_language => interpolate('arbitration.language'),
30
+ :arbitration_location => interpolate('arbitration.location'),
31
+ :company_name => interpolate('company.name'),
32
+ :company_short_name => interpolate('company.short_name'),
33
+ :company_url => interpolate('company.url'),
34
+ :governing_law_country => interpolate('governing_law.country'),
35
+ :governing_law_location => interpolate('governing_law.location'),
36
+ :governing_law_venue => interpolate('governing_law.venue'),
37
+ :open_source_licence_image_url => interpolate('open_source_licence.image_url'),
38
+ :open_source_licence_url => interpolate('open_source_licence.url'),
39
+ :open_source_licence_long_name => interpolate('open_source_licence.long_name'),
40
+ :open_source_licence_organisation => interpolate('open_source_licence.organisation'),
41
+ :open_source_licence_short_name => interpolate('open_source_licence.short_name'),
42
+ :service_description => interpolate('service.description'),
43
+ :service_dmca_url => interpolate('service.dmca_url'),
44
+ :service_free_features => interpolate('service.free_features'),
45
+ :service_name => interpolate('service.name'),
46
+ :service_paid_features => interpolate('service.paid_features'),
47
+ :service_privacy_policy_url => interpolate('service.privacy_policy_url'),
48
+ :service_support_email => interpolate('service.support_email'),
49
+ :service_url => interpolate('service.url')
50
+ }
51
+ end
52
+
53
+ def interpolate(key)
54
+ I18n.t i18n_scope("interpolations.#{key}")
55
+ end
56
+
57
+ def i18n_scope(key)
58
+ %w(vendor legal_docs).push(key).join('.').to_sym
59
+ end
60
+ end
61
+ end
data/locales/en.yml ADDED
@@ -0,0 +1,426 @@
1
+ en:
2
+ vendor:
3
+ legal_docs:
4
+ docs:
5
+ privacy_policy:
6
+ body:
7
+ markdown: ! "# %{service_name} Privacy Policy\n\nYour privacy is critically
8
+ important to us. At %{company_short_name} we have a few fundamental
9
+ principles:\n\n1. We don't ask you for personal information unless we
10
+ truly need it. (We can't stand services that ask you for things like
11
+ your gender or income level for no apparent reason.)\n2. We don't share
12
+ your personal information with anyone except to comply with the law,
13
+ develop our products, or protect our rights.\n3. We don't store personal
14
+ information on our servers unless required for the on-going operation
15
+ of one of our services.\n4. We aim to make it as simple as possible
16
+ for you to control what's visible to the public, seen by search engines,
17
+ kept private, and permanently deleted.\n\nBelow is our privacy policy
18
+ which incorporates these goals:\n\nIf you have questions about deleting
19
+ or correcting your personal data please email us <%{service_support_email}>\n\nIt
20
+ is %{company_short_name}’s policy to respect your privacy regarding
21
+ any information we may collect while operating our websites.\n\n## Website
22
+ Visitors\nLike most website operators, %{company_short_name} collects
23
+ non-personally-identifying information of the sort that web browsers
24
+ and servers typically make available, such as the browser type, language
25
+ preference, referring site, and the date and time of each visitor request.\n\n%{company_short_name}'s
26
+ purpose in collecting non-personally identifying information is to better
27
+ understand how %{company_short_name}'s visitors use its website.\n\nFrom
28
+ time to time, %{company_short_name} may release non-personally-identifying
29
+ information in the aggregate, e.g., by publishing a report on trends
30
+ in the usage of its website.\n\n%{company_short_name} also collects
31
+ potentially personally-identifying information like Internet Protocol
32
+ (IP) addresses for logged in users and for users leaving comments or
33
+ contributing to projects.\n\n%{company_short_name} only discloses logged
34
+ in user and commenter IP addresses under the same circumstances that
35
+ it uses and discloses personally-identifying information as described
36
+ below, except that contributor IP addresses are visible and disclosed
37
+ to the relevant project owner.\n\n## Gathering of Personally-Identifying
38
+ Information\n\nCertain visitors to %{company_short_name}’s websites
39
+ choose to interact with %{company_short_name} in ways that require %{company_short_name}
40
+ to gather personally-identifying information.\n\nThe amount and type
41
+ of information that %{company_short_name} gathers depends on the nature
42
+ of the interaction. For example, we ask visitors who sign up for an
43
+ account at [%{service_name}](%{service_url}) to provide a username and
44
+ email address.\n\nThose who engage in transactions with %{company_short_name}
45
+ – by purchasing access to paid services, for example – are asked to
46
+ provide additional information, including as necessary the personal
47
+ and financial information required to process those transactions.\n\nIn
48
+ each case, %{company_short_name} collects such information only insofar
49
+ as is necessary or appropriate to fulfil the purpose of the visitor’s
50
+ interaction with %{company_short_name}.\n\n%{company_short_name} does
51
+ not disclose personally-identifying information other than as described
52
+ below. And visitors can always refuse to supply personally-identifying
53
+ information, with the caveat that it may prevent them from engaging
54
+ in certain website-related activities.\n\n## Aggregated Statistics\n\n%{company_short_name}
55
+ may collect statistics about the behaviour of visitors to its websites.
56
+ For instance, %{company_short_name} may monitor the most popular projects
57
+ on the [%{service_name}](%{service_url}).\n\n%{company_short_name} may
58
+ display this information publicly or provide it to others. However,
59
+ %{company_short_name} does not disclose personally-identifying information
60
+ other than as described below.\n\n## Protection of Certain Personally-Identifying
61
+ Information\n\n%{company_short_name} discloses potentially personally-identifying
62
+ and personally-identifying information only to those of its employees,
63
+ contractors and affiliated organisations that;\n\n* need to know that
64
+ information in order to process it on %{company_short_name}’s behalf
65
+ or to provide services available at %{company_short_name}’s websites,
66
+ and\n* that have agreed not to disclose it to others. \n\nSome of those
67
+ employees, contractors and affiliated organisations may be located outside
68
+ of your home country; by using %{company_short_name}’s websites, you
69
+ consent to the transfer of such information to them.\n\n%{company_short_name}
70
+ will not rent or sell potentially personally-identifying and personally-identifying
71
+ information to anyone.\n\nOther than to its employees, contractors and
72
+ affiliated organisations, as described above, %{company_short_name}
73
+ discloses potentially personally-identifying and personally-identifying
74
+ information only in response to a subpoena, court order or other governmental
75
+ request, or when %{company_short_name} believes in good faith that disclosure
76
+ is reasonably necessary to protect the property or rights of %{company_short_name},
77
+ third parties or the public at large.\n\nIf you are a registered user
78
+ of an %{service_name} account and have supplied your email address,
79
+ %{company_short_name} may occasionally send you an email to tell you
80
+ about new features, solicit your feedback, or just keep you up to date
81
+ with what’s going on with %{company_short_name} and our products.\n\nWe
82
+ primarily use our various product blogs to communicate this type of
83
+ information, so we expect to keep this type of email to a minimum.\n\nIf
84
+ you send us a request (for example via a support email or via one of
85
+ our feedback mechanisms), we reserve the right to publish it in order
86
+ to help us clarify or respond to your request or to help us support
87
+ other users.\n\n%{company_short_name} takes all measures reasonably
88
+ necessary to protect against the unauthorised access, use, alteration
89
+ or destruction of potentially personally-identifying and personally-identifying
90
+ information.\n\n## Cookies\n\nA cookie is a string of information that
91
+ a website stores on a visitor’s computer, and that the visitor’s browser
92
+ provides to the website each time the visitor returns.\n\n%{company_short_name}
93
+ uses cookies to help %{company_short_name} identify and track visitors,
94
+ their usage of %{company_short_name} website, and their website access
95
+ preferences.\n\n%{company_short_name} visitors who do not wish to have
96
+ cookies placed on their computers should set their browsers to refuse
97
+ cookies before using %{company_short_name}’s websites, with the drawback
98
+ that certain features of %{company_short_name}’s websites may not function
99
+ properly without the aid of cookies.\n\n## Business Transfers\n\nIf
100
+ %{company_short_name}, or substantially all of its assets, were acquired,
101
+ or in the unlikely event that %{company_short_name} goes out of business
102
+ or enters bankruptcy, user information would be one of the assets that
103
+ is transferred or acquired by a third party.\n\nYou acknowledge that
104
+ such transfers may occur, and that any acquirer of %{company_short_name}
105
+ may continue to use your personal information as set forth in this policy.\n\n##
106
+ Ads\n\nAds appearing on any of our websites may be delivered to users
107
+ by advertising partners, who may set cookies.\n\nThese cookies allow
108
+ the ad server to recognise your computer each time they send you an
109
+ online advertisement to compile information about you or others who
110
+ use your computer.\n\nThis information allows ad networks to, among
111
+ other things, deliver targeted advertisements that they believe will
112
+ be of most interest to you.\n\nThis Privacy Policy covers the use of
113
+ cookies by %{company_short_name} and does not cover the use of cookies
114
+ by any advertisers.\n\n## Privacy Policy Changes\n\nAlthough most changes
115
+ are likely to be minor, %{company_short_name} may change its Privacy
116
+ Policy from time to time, and in %{company_short_name}’s sole discretion.\n\n%{company_short_name}
117
+ encourages visitors to frequently check this page for any changes to
118
+ its Privacy Policy. If you have a %{service_name} account, you should
119
+ also check your project's dashboard for alerts to these changes.\n\nYour
120
+ continued use of this site after any change in this Privacy Policy will
121
+ constitute your acceptance of such change.\n\n*Thanks to [Wordpress](http://wordpress.com})
122
+ for releasing their Privacy Policy under a [Creative Commons Sharealike
123
+ Licence](http://creativecommons.org/licenses/by-sa/3.0/) which enabled
124
+ us to repurpose this text for our own use.*"
125
+ title: Privacy Policy
126
+ terms_of_service:
127
+ body:
128
+ markdown: ! "# %{service_name} Terms of Service\n\nWe (the team at [%{company_name}](%{company_url}))
129
+ run a [%{service_description}](%{service_url}) called %{service_name}
130
+ and we'd **love** you to use it.\n\n%{service_free_features} are free,
131
+ and we offer paid accounts for advanced features such %{service_paid_features}.\n\n##
132
+ Terms of Service\n\nThe following terms and conditions govern all use
133
+ of the %{service_name} website and all content, services and products
134
+ available at or through [the Website](%{service_url}).\n\nThe Website
135
+ is owned and operated by %{company_name}. (“%{company_short_name}”).
136
+ The Website is offered subject to your acceptance without modification
137
+ of all of the terms and conditions contained herein and all other operating
138
+ rules, policies (including, without limitation, [%{company_short_name}
139
+ Privacy Policy](%{service_privacy_policy_url})) and procedures that
140
+ may be published from time to time on the Website by %{company_short_name}
141
+ (collectively, the “Agreement”).\n\nPlease read this Agreement carefully
142
+ before accessing or using the Website. By accessing or using any part
143
+ of the web site, you agree to become bound by the terms and conditions
144
+ of this agreement.\n\nIf you do not agree to all the terms and conditions
145
+ of this agreement, then you may not access the Website or use any services.
146
+ If these terms and conditions are considered an offer by %{company_short_name},
147
+ acceptance is expressly limited to these terms. The Website is available
148
+ only to individuals who are at least 13 years old.\n\n1. **Your %{service_name}
149
+ Account and Projects** \n \n If you create a project on the Website,
150
+ you are responsible for maintaining the security of your account and
151
+ projects, and you are fully responsible for all activities that occur
152
+ under the account and any other actions taken in connection with the
153
+ projects.\n\n You must not describe your projects in a misleading
154
+ or unlawful manner, including in a manner intended to trade on the name
155
+ or reputation of others, and %{company_short_name} may change or remove
156
+ any project that it considers inappropriate or unlawful, or otherwise
157
+ likely to cause %{company_short_name} liability.\n \n You must
158
+ immediately notify %{company_short_name} of any unauthorised uses of
159
+ your project, your account or any other breaches of security. %{company_short_name}
160
+ will not be liable for any acts or omissions by You, including any damages
161
+ of any kind incurred as a result of such acts or omissions.\n\n1. **Responsibility
162
+ of Contributors**\n\n If you manage a project, contribute to a project,
163
+ post material to the Website, or otherwise make (or allow any third
164
+ party to make) material available by means of the Website (any such
165
+ material, “Content”), You are entirely responsible for the content of,
166
+ and any harm resulting from, that Content.\n\n By making Content
167
+ available, you represent and warrant that:\n \n * the downloading,
168
+ copying and use of the Content will not infringe the proprietary rights,
169
+ including but not limited to the copyright, patent, trademark or trade
170
+ secret rights, of any third party;\n\n * if your employer has rights
171
+ to intellectual property you create, you have either (i) received permission
172
+ from your employer to post or make available the Content, including
173
+ but not limited to any software, or (ii) secured from your employer
174
+ a waiver as to all rights in or to the Content;\n\n * you have fully
175
+ complied with any third-party licenses relating to the Content, and
176
+ have done all things necessary to successfully pass through to end users
177
+ any required terms;\n \n * the Content does not contain or install
178
+ any viruses, worms, malware, Trojan horses or other harmful or destructive
179
+ content;\n \n * the Content is not spam, is not machine or randomly-generated,
180
+ and does not contain unethical or unwanted commercial content designed
181
+ to drive traffic to third party sites or boost the search engine rankings
182
+ of third party sites, or to further unlawful acts (such as phishing)
183
+ or mislead recipients as to the source of the material (such as spoofing);\n
184
+ \ \n * the Content is not pornographic, does not contain threats
185
+ or incite violence towards individuals or entities, and does not violate
186
+ the privacy or publicity rights of any third party;\n \n * your
187
+ project is not getting advertised via unwanted electronic messages such
188
+ as spam links on newsgroups, email lists, other blogs and web sites,
189
+ and similar unsolicited promotional methods;\n \n * your project
190
+ is not named in a manner that misleads your readers into thinking that
191
+ you are another person or company. For example, your project's URL or
192
+ name is not the name of a person other than yourself or company other
193
+ than your own; and\n \n * you have, in the case of Content that
194
+ includes computer code, accurately categorised and/or described the
195
+ type, nature, uses and effects of the materials, whether requested to
196
+ do so by %{company_short_name} or otherwise.\n \n By submitting
197
+ Content to %{company_short_name} for inclusion on your project, you
198
+ grant %{company_short_name} a world-wide, royalty-free, and non-exclusive
199
+ license to reproduce, modify, adapt and publish the Content solely for
200
+ the purpose of displaying, distributing and promoting your project.\n\n
201
+ \ If you delete Content, %{company_short_name} will use reasonable
202
+ efforts to remove it from the Website, but you acknowledge that caching
203
+ or references to the Content may not be made immediately unavailable.\n\n
204
+ \ Without limiting any of those representations or warranties, %{company_short_name}
205
+ has the right (though not the obligation) to, in %{company_short_name}’s
206
+ sole discretion\n \n - refuse or remove any content that,
207
+ in %{company_short_name}’s reasonable opinion, violates any %{company_short_name}
208
+ policy or is in any way harmful or objectionable, or\n - terminate
209
+ or deny access to and use of the Website to any individual or entity
210
+ for any reason, in %{company_short_name}’s sole discretion. %{company_short_name}
211
+ will have no obligation to provide a refund of any amounts previously
212
+ paid.\n\n1. **Payment and Renewal**\n \n * **General Terms**\n \n
213
+ \ Optional paid services are available on the Website (any such services,
214
+ an \"Upgrade\").\n \n By selecting an Upgrade you agree to pay
215
+ %{company_short_name} the monthly or annual subscription fees indicated
216
+ for that service.\n \n Payments will be charged on a pre-pay
217
+ basis on the day you sign up for an Upgrade and will cover the use of
218
+ that service for a monthly or annual subscription period as indicated.
219
+ Upgrade fees are not refundable.\n\n * **Automatic Renewal**\n \n
220
+ \ Unless you notify %{company_short_name} before the end of the
221
+ applicable subscription period that you want to cancel an Upgrade, your
222
+ Upgrade subscription will automatically renew and you authorise us to
223
+ collect the then-applicable annual or monthly subscription fee for such
224
+ Upgrade (as well as any taxes) using any credit card or other payment
225
+ mechanism we have on record for you.\n \n Upgrades can be
226
+ canceled at any time by contacting %{company_short_name} by email <%{service_support_email}>.\n
227
+ \ \n1. **Responsibility of Website Visitors**\n \n %{company_short_name}
228
+ has not reviewed, and cannot review, all of the material posted to the
229
+ Website, and cannot therefore be responsible for that material’s content,
230
+ use or effects.\n\n By operating the Website, %{company_short_name}
231
+ does not represent or imply that it endorses the material there posted,
232
+ or that it believes such material to be accurate, useful or non-harmful.\n
233
+ \ \n You are responsible for taking precautions as necessary to protect
234
+ yourself and your computer systems from viruses, worms, Trojan horses,
235
+ and other harmful or destructive content.\n \n The Website may contain
236
+ content that is offensive, indecent, or otherwise objectionable, as
237
+ well as content containing technical inaccuracies, typographical mistakes,
238
+ and other errors.\n \n The Website may also contain material that
239
+ violates the privacy or publicity rights, or infringes the intellectual
240
+ property and other proprietary rights, of third parties, or the downloading,
241
+ copying or use of which is subject to additional terms and conditions,
242
+ stated or unstated.\n \n %{company_short_name} disclaims any responsibility
243
+ for any harm resulting from the use by visitors of the Website, or from
244
+ any downloading by those visitors of content there posted.\n \n1.
245
+ **Content Posted on Other Websites**\n \n We have not reviewed,
246
+ and cannot review, all of the material made available through the websites
247
+ and webpages to which %{service_name} links, and that link to %{service_name}.\n
248
+ \ \n %{company_short_name} does not have any control over those non-%{service_name}
249
+ websites and webpages, and is not responsible for their contents or
250
+ their use.\n \n By linking to a non-%{service-name} website or webpage,
251
+ %{company_short_name} does not represent or imply that it endorses such
252
+ website or webpage.\n \n You are responsible for taking precautions
253
+ as necessary to protect yourself and your computer systems from viruses,
254
+ worms, Trojan horses, and other harmful or destructive content. %{company_short_name}
255
+ disclaims any responsibility for any harm resulting from your use of
256
+ non-%{service-name} websites and webpages.\n \n1. **Copyright Infringement
257
+ and DMCA Policy**\n\n As %{company_short_name} asks others to respect
258
+ its intellectual property rights, it respects the intellectual property
259
+ rights of others.\n\n If you believe that material located on or linked
260
+ to by %{service_name} violates your copyright, you are encouraged to
261
+ notify %{company_short_name} in accordance with [%{company_short_name}’s
262
+ Digital Millennium Copyright Act (\"DMCA\") Policy](%{service_dmca_url}).\n\n
263
+ \ %{company_short_name} will respond to all such notices, including
264
+ as required or appropriate by removing the infringing material or disabling
265
+ all links to the infringing material.\n \n %{company_short_name}
266
+ will terminate a visitor's access to and use of the Website if, under
267
+ appropriate circumstances, the visitor is determined to be a repeat
268
+ infringer of the copyrights or other intellectual property rights of
269
+ %{company_short_name} or others.\n \n In the case of such termination,
270
+ %{company_short_name} will have no obligation to provide a refund of
271
+ any amounts previously paid to %{company_short_name}.\n \n1. **Licensing
272
+ of Open Source Projects**\n\n Open Source Projects are hosted for
273
+ free on %{service_name}. All localisations associated with Open Source
274
+ projects on %{service_name} are automatically licensed under the **%{open_source_licence_organisation},
275
+ %{open_source_licence_long_name}** - \n [%{open_source_licence_short_name}](%{open_source_licence_url})\n\n
276
+ \ [![%{open_source_licence_short_name}](%{open_source_licence_image_url}
277
+ \"%{open_source_licence_short_name}\")](%{open_source_licence_url} \"%{open_source_licence_short_name}\")\n\n
278
+ \ This means that such localisations can be freely copied, distributed
279
+ and transmitted. Localisations can be freely adapted, and commercial
280
+ use of them is permitted;\nunder the following conditions;\n\n *
281
+ Any derivative use of such localisations must attribute derivative works
282
+ to the project owner in the manner specified by the project owner (but
283
+ not in any way that suggests that they endorse the derivative work in
284
+ any way).\n * Any derivative use must be distributed under the same
285
+ or similar license to this one.\n\n1. **Licensing of Private Projects**\n\n
286
+ \ All private projects hosted on %{service_name} are, by definition,
287
+ private. All localisations associated with such projects are only accessible
288
+ to users authorised by the project owner or his representatives.\n \n
289
+ \ The project owner is responsible for licensing and distributing all
290
+ localisations associated with private projects.\n \n \n1. **Intellectual
291
+ Property**\n\n This Agreement does not transfer from %{company_short_name}
292
+ to you any %{company_short_name} or third party intellectual property,
293
+ and all right, title and interest in and to such property will remain
294
+ (as between the parties) solely with %{company_short_name}.\n \n
295
+ \ %{company_short_name}, %{service_name}, the %{service_name} logo,
296
+ and all other trademarks, service marks, graphics and logos used in
297
+ connection with %{service_name}, or the Website are trademarks or registered
298
+ trademarks of %{company_short_name} or %{company_short_name}’s licensors.\n
299
+ \ \n Other trademarks, service marks, graphics and logos used in
300
+ connection with the Website may be the trademarks of other third parties.\n
301
+ \ \n Your use of the Website grants you no right or license to
302
+ reproduce or otherwise use any %{company_short_name} or third-party
303
+ trademarks.\n \n1. **Changes**\n\n %{company_short_name} reserves
304
+ the right, at its sole discretion, to modify or replace any part of
305
+ this Agreement.\n \n It is your responsibility to check this Agreement
306
+ periodically for changes.\n \n Your continued use of or access
307
+ to the Website following the posting of any changes to this Agreement
308
+ constitutes acceptance of those changes.\n \n %{company_short_name}
309
+ may also, in the future, offer new services and/or features through
310
+ the Website (including, the release of new tools and resources).\n \n
311
+ \ Such new features and/or services shall be subject to the terms
312
+ and conditions of this Agreement.\n \n1. **Termination**\n\n %{company_short_name}
313
+ may terminate your access to all or any part of the Website at any time,
314
+ with or without cause, with or without notice, effective immediately.\n
315
+ \ \n If you wish to terminate this Agreement or your %{service_name}
316
+ account (if you have one), you may simply discontinue using the Website.\n
317
+ \ \n Notwithstanding the foregoing, if you have paid for an Upgrade,
318
+ your account can only be terminated by %{company_short_name} if you
319
+ materially breach this Agreement and fail to cure such breach within
320
+ thirty (30) days from %{company_short_name}’s notice to you thereof;
321
+ provided that, %{company_short_name} can terminate the Website immediately
322
+ as part of a general shut down of our service.\n \n All provisions
323
+ of this Agreement which by their nature should survive termination shall
324
+ survive termination, including, without limitation, ownership provisions,
325
+ warranty disclaimers, indemnity and limitations of liability.\n \n1.
326
+ **Disclaimer of Warranties**\n\n The Website is provided \"as is\".
327
+ %{company_short_name} and its suppliers and licensors hereby disclaim
328
+ all warranties of any kind, express or implied, including, without limitation,
329
+ the warranties of merchantability, fitness for a particular purpose
330
+ and non-infringement.\n \n Neither %{company_short_name} nor its
331
+ suppliers and licensors, makes any warranty that the Website will be
332
+ error free or that access thereto will be continuous or uninterrupted.\n
333
+ \ \n You understand that you download from, or otherwise obtain
334
+ content or services through, the Website at your own discretion and
335
+ risk.\n \n1. **Limitation of Liability**\n\n In no event will
336
+ %{company_short_name}, or its suppliers or licensors, be liable with
337
+ respect to any subject matter of this agreement under any contract,
338
+ negligence, strict liability or other legal or equitable theory for:\n
339
+ \ - any special, incidental or consequential damages;\n - the
340
+ cost of procurement for substitute products or services;\n - for
341
+ interruption of use or loss or corruption of data; or\n - for any
342
+ amounts that exceed the fees paid by you to %{company_short_name} under
343
+ this agreement during the twelve (12) month period prior to the cause
344
+ of action. \n \n %{company_short_name} shall have no liability
345
+ for any failure or delay due to matters beyond their reasonable control.
346
+ The foregoing shall not apply to the extent prohibited by applicable
347
+ law.\n \n1. **General Representation and Warranty**\n\n You represent
348
+ and warrant that\n * your use of the Website will be in strict
349
+ accordance with the %{company_short_name} Privacy Policy, with this
350
+ Agreement and with all applicable laws and regulations (including without
351
+ limitation any local laws or regulations in your country, state, city,
352
+ or other governmental area, regarding online conduct and acceptable
353
+ content, and including all applicable laws regarding the transmission
354
+ of technical data exported from country in which you reside) and \n
355
+ \ * your use of the Website will not infringe or misappropriate the
356
+ intellectual property rights of any third party.\n \n1. **Indemnification**\n\n
357
+ \ You agree to indemnify and hold harmless %{company_short_name}, its
358
+ contractors, and its licensors, and their respective directors, officers,
359
+ employees and agents from and against any and all claims and expenses,
360
+ including attorneys’ fees, arising out of your use of the Website, including
361
+ but not limited to your violation of this Agreement.\n \n1. **Miscellaneous**\n\n
362
+ \ This Agreement constitutes the entire agreement between %{company_short_name}
363
+ and you concerning the subject matter hereof, and they may only be modified
364
+ by a written amendment signed by an authorised executive of %{company_short_name},
365
+ or by the posting by %{company_short_name} of a revised version.\n \n
366
+ \ Except to the extent applicable law, if any, provides otherwise,
367
+ this Agreement, any access to or use of the Website will be governed
368
+ by the laws of %{governing_law_country}, excluding its conflict of law
369
+ provisions, and the proper venue for any disputes arising out of or
370
+ relating to any of the same will be %{governing_law_venue} located in
371
+ %{governing_law_location}.\n \n Except for claims for injunctive
372
+ or equitable relief or claims regarding intellectual property rights
373
+ (which may be brought in any competent court without the posting of
374
+ a bond), any dispute arising under this Agreement shall be finally settled
375
+ in accordance with the Comprehensive Arbitration Rules of the Judicial
376
+ Arbitration and Mediation Service, Inc. (“JAMS”) by three arbitrators
377
+ appointed in accordance with such Rules.\n \n The arbitration shall
378
+ take place in %{arbitration_location}, in the %{arbitration_language}
379
+ language and the arbitral decision may be enforced in any court.\n \n
380
+ \ The prevailing party in any action or proceeding to enforce this
381
+ Agreement shall be entitled to costs and legal fees.\n \n If any
382
+ part of this Agreement is held invalid or unenforceable, that part will
383
+ be construed to reflect the parties’ original intent, and the remaining
384
+ portions will remain in full force and effect.\n \n A waiver by
385
+ either party of any term or condition of this Agreement or any breach
386
+ thereof, in any one instance, will not waive such term or condition
387
+ or any subsequent breach thereof.\n \n You may assign your rights
388
+ under this Agreement to any party that consents to, and agrees to be
389
+ bound by, its terms and conditions; %{company_short_name} may assign
390
+ its rights under this Agreement without condition.\n \n This Agreement
391
+ will be binding upon and will inure to the benefit of the parties, their
392
+ successors and permitted assigns.\n\n*Thanks to [Wordpress](http://wordpress.com})
393
+ for releasing their Terms of Service under a [Creative Commons Sharealike
394
+ Licence](http://creativecommons.org/licenses/by-sa/3.0/) which enabled
395
+ us to repurpose this text for our own use.*"
396
+ title: Terms of Service
397
+ interpolations:
398
+ arbitration:
399
+ language: <Arbitration Language>
400
+ location: <Arbitration Location>
401
+ company:
402
+ name: <Company Name>
403
+ short_name: <Company Short Name>
404
+ url: <Company URL>
405
+ governing_law:
406
+ country: <Governing Law Country>
407
+ location: <Governing Law Location>
408
+ venue: <Governing Law Venue>
409
+ open_source_licence:
410
+ image_url: http://i.creativecommons.org/l/by-sa/3.0/88x31.png
411
+ link_url: http://creativecommons.org/licenses/by-sa/3.0/
412
+ long_name: Attribution-ShareAlike 3.0
413
+ organisation: Creative Commons
414
+ short_name: CC BY-SA
415
+ url: http://creativecommons.org/licenses/by-sa/3.0/
416
+ service:
417
+ description: <Service Description>
418
+ dmca_link_url: <Service DMCA Link URL>
419
+ free_features: <Service Free Features>
420
+ name: <Service Name>
421
+ paid_features: <Service Paid Features>
422
+ privacy_policy_url: <Service Privacy Policy URL>
423
+ support_email_address: <Service Support Email Address>
424
+ url: <Service URL>
425
+ dmca_url: <Service DMCA URL>
426
+ support_email: <Service Support Email>
@@ -0,0 +1,27 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ Dir.glob('locales/*.yml') do |locale_file|
4
+ describe "a locale file" do
5
+ it_behaves_like 'a valid locale file', locale_file
6
+ end
7
+ end
8
+
9
+ describe LegalDocs, "::privacy_policy" do
10
+ it "has a title" do
11
+ LegalDocs::privacy_policy.title.should == I18n.t(:'vendor.legal_docs.docs.privacy_policy.title')
12
+ end
13
+
14
+ it "provides all necessary interpolations for the content" do
15
+ expect { LegalDocs::privacy_policy.content }.to_not raise_error(I18n::MissingInterpolationArgument)
16
+ end
17
+ end
18
+
19
+ describe LegalDocs, "::terms_of_service" do
20
+ it "has a title" do
21
+ LegalDocs::terms_of_service.title.should == I18n.t(:'vendor.legal_docs.docs.terms_of_service.title')
22
+ end
23
+
24
+ it "provides all necessary interpolations for the content" do
25
+ expect { LegalDocs::terms_of_service.content }.to_not raise_error(I18n::MissingInterpolationArgument)
26
+ end
27
+ end
@@ -0,0 +1,13 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'legal_docs'
5
+ require 'i18n-spec'
6
+
7
+ # Requires supporting files with custom matchers and macros, etc,
8
+ # in ./support/ and its subdirectories.
9
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
10
+
11
+ RSpec.configure do |config|
12
+
13
+ end
metadata ADDED
@@ -0,0 +1,118 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: legal-docs
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Christopher Dell
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-04-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: &70247098529200 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 1.1.2
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *70247098529200
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &70247098528680 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 2.8.0
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70247098528680
36
+ - !ruby/object:Gem::Dependency
37
+ name: jeweler
38
+ requirement: &70247098543440 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 1.8.3
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70247098543440
47
+ - !ruby/object:Gem::Dependency
48
+ name: i18n-spec
49
+ requirement: &70247098541560 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70247098541560
58
+ - !ruby/object:Gem::Dependency
59
+ name: localeapp
60
+ requirement: &70247098541080 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70247098541080
69
+ description: legal-docs provides a customisable privacy policy and terms of service,
70
+ backed by I18n that can used in your apps.
71
+ email: chris@tigrish.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files:
75
+ - LICENSE.txt
76
+ - README
77
+ files:
78
+ - .rvmrc
79
+ - Gemfile
80
+ - Gemfile.lock
81
+ - LICENSE.txt
82
+ - README
83
+ - Rakefile
84
+ - VERSION
85
+ - config/i18n.rb
86
+ - lib/legal_docs.rb
87
+ - locales/en.yml
88
+ - spec/legal_docs_spec.rb
89
+ - spec/spec_helper.rb
90
+ homepage: http://github.com/tigrish/legal-docs
91
+ licenses:
92
+ - MIT
93
+ post_install_message:
94
+ rdoc_options: []
95
+ require_paths:
96
+ - lib
97
+ required_ruby_version: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ segments:
104
+ - 0
105
+ hash: 2987317957690543209
106
+ required_rubygems_version: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ requirements: []
113
+ rubyforge_project:
114
+ rubygems_version: 1.8.6
115
+ signing_key:
116
+ specification_version: 3
117
+ summary: Customisable legal documents for your app
118
+ test_files: []