legal-docs 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.rvmrc +1 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +45 -0
- data/LICENSE.txt +20 -0
- data/README +0 -0
- data/Rakefile +34 -0
- data/VERSION +1 -0
- data/config/i18n.rb +3 -0
- data/lib/legal_docs.rb +61 -0
- data/locales/en.yml +426 -0
- data/spec/legal_docs_spec.rb +27 -0
- data/spec/spec_helper.rb +13 -0
- metadata +118 -0
data/.rvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm 1.9.3-p0@legal-docs
|
data/Gemfile
ADDED
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
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
|
data/spec/spec_helper.rb
ADDED
@@ -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: []
|