radiant-vcard_part-extension 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +11 -0
- data/Rakefile +109 -0
- data/app/models/vcard.rb +4 -0
- data/app/models/vcard_page_part.rb +62 -0
- data/app/views/admin/page_parts/_vcard_page_part.html.haml +37 -0
- data/config/initializers/radiant_config.rb +3 -0
- data/config/locales/en.yml +13 -0
- data/config/locales/nl.yml +13 -0
- data/config/routes.rb +5 -0
- data/cucumber.yml +1 -0
- data/db/migrate/20110703153748_create_vcards.rb +26 -0
- data/features/support/env.rb +11 -0
- data/features/support/paths.rb +22 -0
- data/lib/radiant-vcard_part-extension.rb +2 -0
- data/lib/radiant-vcard_part-extension/version.rb +3 -0
- data/lib/tasks/vcard_part_extension_tasks.rake +55 -0
- data/lib/vcard_part_extension/page_extensions.rb +10 -0
- data/radiant-vcard_part-extension.gemspec +29 -0
- data/spec/models/vcard_spec.rb +11 -0
- data/spec/spec.opts +6 -0
- data/spec/spec_helper.rb +36 -0
- data/vcard_part_extension.rb +19 -0
- metadata +93 -0
data/README
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
Radiant Vcard Part Extension
|
2
|
+
----------------------------
|
3
|
+
|
4
|
+
This extension builds on Josh French's PageParts extension.
|
5
|
+
It adds a new page part type "VcardPagePart", which aids in making valid hCard-formatted markup.
|
6
|
+
|
7
|
+
## Still to do
|
8
|
+
|
9
|
+
* Revise markup and/or CSS for backend; make things look better.
|
10
|
+
* Revise attributes; are these really all of the most-used fields when displaying addresses?
|
11
|
+
* Make vcard fields dynamic? I.e. so someone can add more than 1 URL or telephone number.
|
data/Rakefile
ADDED
@@ -0,0 +1,109 @@
|
|
1
|
+
# Determine where the RSpec plugin is by loading the boot
|
2
|
+
unless defined? RADIANT_ROOT
|
3
|
+
ENV["RAILS_ENV"] = "test"
|
4
|
+
case
|
5
|
+
when ENV["RADIANT_ENV_FILE"]
|
6
|
+
require File.dirname(ENV["RADIANT_ENV_FILE"]) + "/boot"
|
7
|
+
when File.dirname(__FILE__) =~ %r{vendor/radiant/vendor/extensions}
|
8
|
+
require "#{File.expand_path(File.dirname(__FILE__) + "/../../../../../")}/config/boot"
|
9
|
+
else
|
10
|
+
require "#{File.expand_path(File.dirname(__FILE__) + "/../../../")}/config/boot"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
require 'rake'
|
15
|
+
require 'rake/rdoctask'
|
16
|
+
require 'rake/testtask'
|
17
|
+
|
18
|
+
rspec_base = File.expand_path(RADIANT_ROOT + '/vendor/plugins/rspec/lib')
|
19
|
+
$LOAD_PATH.unshift(rspec_base) if File.exist?(rspec_base)
|
20
|
+
require 'spec/rake/spectask'
|
21
|
+
require 'cucumber'
|
22
|
+
require 'cucumber/rake/task'
|
23
|
+
|
24
|
+
# Cleanup the RADIANT_ROOT constant so specs will load the environment
|
25
|
+
Object.send(:remove_const, :RADIANT_ROOT)
|
26
|
+
|
27
|
+
extension_root = File.expand_path(File.dirname(__FILE__))
|
28
|
+
|
29
|
+
task :default => [:spec, :features]
|
30
|
+
task :stats => "spec:statsetup"
|
31
|
+
|
32
|
+
desc "Run all specs in spec directory"
|
33
|
+
Spec::Rake::SpecTask.new(:spec) do |t|
|
34
|
+
t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
|
35
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
36
|
+
end
|
37
|
+
|
38
|
+
task :features => 'spec:integration'
|
39
|
+
|
40
|
+
namespace :spec do
|
41
|
+
desc "Run all specs in spec directory with RCov"
|
42
|
+
Spec::Rake::SpecTask.new(:rcov) do |t|
|
43
|
+
t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
|
44
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
45
|
+
t.rcov = true
|
46
|
+
t.rcov_opts = ['--exclude', 'spec', '--rails']
|
47
|
+
end
|
48
|
+
|
49
|
+
desc "Print Specdoc for all specs"
|
50
|
+
Spec::Rake::SpecTask.new(:doc) do |t|
|
51
|
+
t.spec_opts = ["--format", "specdoc", "--dry-run"]
|
52
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
53
|
+
end
|
54
|
+
|
55
|
+
[:models, :controllers, :views, :helpers].each do |sub|
|
56
|
+
desc "Run the specs under spec/#{sub}"
|
57
|
+
Spec::Rake::SpecTask.new(sub) do |t|
|
58
|
+
t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
|
59
|
+
t.spec_files = FileList["spec/#{sub}/**/*_spec.rb"]
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
desc "Run the Cucumber features"
|
64
|
+
Cucumber::Rake::Task.new(:integration) do |t|
|
65
|
+
t.fork = true
|
66
|
+
t.cucumber_opts = ['--format', (ENV['CUCUMBER_FORMAT'] || 'pretty')]
|
67
|
+
# t.feature_pattern = "#{extension_root}/features/**/*.feature"
|
68
|
+
t.profile = "default"
|
69
|
+
end
|
70
|
+
|
71
|
+
# Setup specs for stats
|
72
|
+
task :statsetup do
|
73
|
+
require 'code_statistics'
|
74
|
+
::STATS_DIRECTORIES << %w(Model\ specs spec/models)
|
75
|
+
::STATS_DIRECTORIES << %w(View\ specs spec/views)
|
76
|
+
::STATS_DIRECTORIES << %w(Controller\ specs spec/controllers)
|
77
|
+
::STATS_DIRECTORIES << %w(Helper\ specs spec/views)
|
78
|
+
::CodeStatistics::TEST_TYPES << "Model specs"
|
79
|
+
::CodeStatistics::TEST_TYPES << "View specs"
|
80
|
+
::CodeStatistics::TEST_TYPES << "Controller specs"
|
81
|
+
::CodeStatistics::TEST_TYPES << "Helper specs"
|
82
|
+
::STATS_DIRECTORIES.delete_if {|a| a[0] =~ /test/}
|
83
|
+
end
|
84
|
+
|
85
|
+
namespace :db do
|
86
|
+
namespace :fixtures do
|
87
|
+
desc "Load fixtures (from spec/fixtures) into the current environment's database. Load specific fixtures using FIXTURES=x,y"
|
88
|
+
task :load => :environment do
|
89
|
+
require 'active_record/fixtures'
|
90
|
+
ActiveRecord::Base.establish_connection(RAILS_ENV.to_sym)
|
91
|
+
(ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/) : Dir.glob(File.join(RAILS_ROOT, 'spec', 'fixtures', '*.{yml,csv}'))).each do |fixture_file|
|
92
|
+
Fixtures.create_fixtures('spec/fixtures', File.basename(fixture_file, '.*'))
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
desc 'Generate documentation for the vcard_part extension.'
|
100
|
+
Rake::RDocTask.new(:rdoc) do |rdoc|
|
101
|
+
rdoc.rdoc_dir = 'rdoc'
|
102
|
+
rdoc.title = 'VcardPartExtension'
|
103
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
104
|
+
rdoc.rdoc_files.include('README')
|
105
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
106
|
+
end
|
107
|
+
|
108
|
+
# Load any custom rakefiles for extension
|
109
|
+
Dir[File.dirname(__FILE__) + '/tasks/*.rake'].sort.each { |f| require f }
|
data/app/models/vcard.rb
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
class VcardPagePart < PagePart
|
2
|
+
part_name "vCard"
|
3
|
+
show_filters false
|
4
|
+
|
5
|
+
def render_content
|
6
|
+
%{<div class="vcard">
|
7
|
+
#{vcard_address_fields}
|
8
|
+
#{vcard_tel_fields}
|
9
|
+
#{vcard_email_and_url_fields}
|
10
|
+
</div>}
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def vcard_address_fields
|
16
|
+
vcard = self.page.vcard
|
17
|
+
result = ""
|
18
|
+
result << "<span class=\"org\">#{vcard.org}</span><br />" unless vcard.org.blank?
|
19
|
+
result << "<span class=\"fn n\">#{vcard.fn} #{vcard.n}</span><br />" unless (vcard.n.blank? && vcard.fn.blank?)
|
20
|
+
unless(vcard.street_address.blank? && vcard.postal_code.blank? && vcard.locality.blank?)
|
21
|
+
result << "<span class=\"adr\">"
|
22
|
+
%w(street-address postal-code locality).each do |attrib|
|
23
|
+
result << "<span class=\"#{attrib}\">#{vcard.send(attrib.gsub(/-/,'_'))}</span>" unless vcard.send(attrib.gsub(/-/, '_')).blank?
|
24
|
+
end
|
25
|
+
result << "</span>"
|
26
|
+
end
|
27
|
+
"<p>#{result}</p>"
|
28
|
+
end
|
29
|
+
|
30
|
+
def vcard_tel_fields
|
31
|
+
vcard = self.page.vcard
|
32
|
+
return if vcard.tel.blank? && vcard.fax.blank?
|
33
|
+
result = ""
|
34
|
+
unless vcard.tel.blank?
|
35
|
+
result << %{
|
36
|
+
<span class="tel">
|
37
|
+
<abbr class="type" title="Work">Tel.:</abbr>
|
38
|
+
<span class="value">#{vcard.tel}</span>
|
39
|
+
</span><br />
|
40
|
+
}
|
41
|
+
end
|
42
|
+
unless vcard.fax.blank?
|
43
|
+
result << %{
|
44
|
+
<span class="tel">
|
45
|
+
<abbr class="type" title="Fax">Fax:</abbr>
|
46
|
+
<span class="value">#{vcard.fax}</span>
|
47
|
+
</span>
|
48
|
+
}
|
49
|
+
end
|
50
|
+
"<p>#{result}</p>"
|
51
|
+
end
|
52
|
+
|
53
|
+
def vcard_email_and_url_fields
|
54
|
+
vcard = self.page.vcard
|
55
|
+
result = ""
|
56
|
+
return result if vcard.email.blank? && vcard.url.blank?
|
57
|
+
result << %{<a class="email" href="mailto:#{vcard.email}">#{vcard.email}</a><br />} unless vcard.email.blank?
|
58
|
+
result << %{<a class="url" href="http://#{vcard.url.gsub(/http(s)?:\/\//,'')}">#{vcard.url}</a><br />} unless vcard.url.blank?
|
59
|
+
"<p>#{result}</p>"
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
.part.vcard
|
2
|
+
.name
|
3
|
+
%label{:for => "page_vcard_attributes_org"}= t('vcard.organisation')
|
4
|
+
= text_field_tag "page[vcard_attributes][org]", @page.try(:vcard).try(:org)
|
5
|
+
%br
|
6
|
+
%label{:for => "page_vcard_attributes_fn"}= t('vcard.first_name')
|
7
|
+
= text_field_tag "page[vcard_attributes][fn]", @page.try(:vcard).try(:fn)
|
8
|
+
%br
|
9
|
+
%label{:for => "page_vcard_attributes_n"}= t('vcard.name')
|
10
|
+
= text_field_tag "page[vcard_attributes][n]", @page.try(:vcard).try(:n)
|
11
|
+
%br
|
12
|
+
|
13
|
+
.address
|
14
|
+
%label{:for => "page_vcard_attributes_street_address"}= t('vcard.street_address')
|
15
|
+
= text_field_tag "page[vcard_attributes][street_address]", @page.try(:vcard).try(:street_address)
|
16
|
+
%br
|
17
|
+
%label{:for => "page_vcard_attributes_postal_code"}= t('vcard.postal_code')
|
18
|
+
= text_field_tag "page[vcard_attributes][postal_code]", @page.try(:vcard).try(:postal_code)
|
19
|
+
%br
|
20
|
+
%label{:for => "page_vcard_attributes_locality"}= t('vcard.locality')
|
21
|
+
= text_field_tag "page[vcard_attributes][locality]", @page.try(:vcard).try(:locality)
|
22
|
+
|
23
|
+
.telephone
|
24
|
+
%label{:for => "page_vcard_attributes_tel"}= t('vcard.telephone')
|
25
|
+
= text_field_tag "page[vcard_attributes][tel]", @page.try(:vcard).try(:tel)
|
26
|
+
%br
|
27
|
+
%label{:for => "page_vcard_attributes_fax"}= t('vcard.fax')
|
28
|
+
= text_field_tag "page[vcard_attributes][fax]", @page.try(:vcard).try(:fax)
|
29
|
+
|
30
|
+
.online
|
31
|
+
%label{:for => "page_vcard_attributes_email"}= t('vcard.email')
|
32
|
+
= text_field_tag "page[vcard_attributes][email]", @page.try(:vcard).try(:email)
|
33
|
+
%br
|
34
|
+
%label{:for => "page_vcard_attributes_url"}= t('vcard.url')
|
35
|
+
= text_field_tag "page[vcard_attributes][url]", @page.try(:vcard).try(:url)
|
36
|
+
|
37
|
+
|
data/config/routes.rb
ADDED
data/cucumber.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
default: --format progress features --tags ~@proposed,~@in_progress
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class CreateVcards < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :vcards do |t|
|
4
|
+
t.string :fn
|
5
|
+
t.string :n
|
6
|
+
t.string :org
|
7
|
+
t.string :street_address
|
8
|
+
t.string :postal_code
|
9
|
+
t.string :locality
|
10
|
+
t.string :tel
|
11
|
+
t.string :fax
|
12
|
+
t.string :email
|
13
|
+
t.string :url
|
14
|
+
|
15
|
+
t.integer :page_id
|
16
|
+
|
17
|
+
t.timestamps
|
18
|
+
end
|
19
|
+
|
20
|
+
add_index :vcards, :page_id
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.down
|
24
|
+
drop_table :vcards
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# Sets up the Rails environment for Cucumber
|
2
|
+
ENV["RAILS_ENV"] = "test"
|
3
|
+
# Extension root
|
4
|
+
extension_env = File.expand_path(File.dirname(__FILE__) + '/../../../../../config/environment')
|
5
|
+
require extension_env+'.rb'
|
6
|
+
|
7
|
+
Dir.glob(File.join(RADIANT_ROOT, "features", "**", "*.rb")).each {|step| require step unless step =~ /datasets_loader\.rb$/}
|
8
|
+
|
9
|
+
Cucumber::Rails::World.class_eval do
|
10
|
+
dataset :vcard_part
|
11
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module NavigationHelpers
|
2
|
+
|
3
|
+
# Extend the standard PathMatchers with your own paths
|
4
|
+
# to be used in your features.
|
5
|
+
#
|
6
|
+
# The keys and values here may be used in your standard web steps
|
7
|
+
# Using:
|
8
|
+
#
|
9
|
+
# When I go to the "vcard_part" admin page
|
10
|
+
#
|
11
|
+
# would direct the request to the path you provide in the value:
|
12
|
+
#
|
13
|
+
# admin_vcard_part_path
|
14
|
+
#
|
15
|
+
PathMatchers = {} unless defined?(PathMatchers)
|
16
|
+
PathMatchers.merge!({
|
17
|
+
# /vcard_part/i => 'admin_vcard_part_path'
|
18
|
+
})
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
World(NavigationHelpers)
|
@@ -0,0 +1,55 @@
|
|
1
|
+
namespace :radiant do
|
2
|
+
namespace :extensions do
|
3
|
+
namespace :vcard_part do
|
4
|
+
|
5
|
+
desc "Runs the migration of the Vcard Part extension"
|
6
|
+
task :migrate => :environment do
|
7
|
+
require 'radiant/extension_migrator'
|
8
|
+
if ENV["VERSION"]
|
9
|
+
VcardPartExtension.migrator.migrate(ENV["VERSION"].to_i)
|
10
|
+
Rake::Task['db:schema:dump'].invoke
|
11
|
+
else
|
12
|
+
VcardPartExtension.migrator.migrate
|
13
|
+
Rake::Task['db:schema:dump'].invoke
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "Copies public assets of the Vcard Part to the instance public/ directory."
|
18
|
+
task :update => :environment do
|
19
|
+
is_svn_or_dir = proc {|path| path =~ /\.svn/ || File.directory?(path) }
|
20
|
+
puts "Copying assets from VcardPartExtension"
|
21
|
+
Dir[VcardPartExtension.root + "/public/**/*"].reject(&is_svn_or_dir).each do |file|
|
22
|
+
path = file.sub(VcardPartExtension.root, '')
|
23
|
+
directory = File.dirname(path)
|
24
|
+
mkdir_p RAILS_ROOT + directory, :verbose => false
|
25
|
+
cp file, RAILS_ROOT + path, :verbose => false
|
26
|
+
end
|
27
|
+
unless VcardPartExtension.root.starts_with? RAILS_ROOT # don't need to copy vendored tasks
|
28
|
+
puts "Copying rake tasks from VcardPartExtension"
|
29
|
+
local_tasks_path = File.join(RAILS_ROOT, %w(lib tasks))
|
30
|
+
mkdir_p local_tasks_path, :verbose => false
|
31
|
+
Dir[File.join VcardPartExtension.root, %w(lib tasks *.rake)].each do |file|
|
32
|
+
cp file, local_tasks_path, :verbose => false
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
desc "Syncs all available translations for this ext to the English ext master"
|
38
|
+
task :sync => :environment do
|
39
|
+
# The main translation root, basically where English is kept
|
40
|
+
language_root = VcardPartExtension.root + "/config/locales"
|
41
|
+
words = TranslationSupport.get_translation_keys(language_root)
|
42
|
+
|
43
|
+
Dir["#{language_root}/*.yml"].each do |filename|
|
44
|
+
next if filename.match('_available_tags')
|
45
|
+
basename = File.basename(filename, '.yml')
|
46
|
+
puts "Syncing #{basename}"
|
47
|
+
(comments, other) = TranslationSupport.read_file(filename, basename)
|
48
|
+
words.each { |k,v| other[k] ||= words[k] } # Initializing hash variable as empty if it does not exist
|
49
|
+
other.delete_if { |k,v| !words[k] } # Remove if not defined in en.yml
|
50
|
+
TranslationSupport.write_file(filename, basename, comments, other)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "radiant-vcard_part-extension/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "radiant-vcard_part-extension"
|
7
|
+
s.version = RadiantVcardPartExtension::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Benny Degezelle"]
|
10
|
+
s.email = ["hi@mokeypatch.be"]
|
11
|
+
s.homepage = "https://github.com/jomz/radiant-vcard_part-extension"
|
12
|
+
s.summary = %q{Vcard Part for Radiant CMS}
|
13
|
+
s.description = %q{Adds a vCardPagePart type. Requires radiant-page_parts-extension.}
|
14
|
+
|
15
|
+
ignores = if File.exist?('.gitignore')
|
16
|
+
File.read('.gitignore').split("\n").inject([]) {|a,p| a + Dir[p] }
|
17
|
+
else
|
18
|
+
[]
|
19
|
+
end
|
20
|
+
s.files = Dir['**/*'] - ignores
|
21
|
+
s.test_files = Dir['test/**/*','spec/**/*','features/**/*'] - ignores
|
22
|
+
# s.executables = Dir['bin/*'] - ignores
|
23
|
+
s.require_paths = ["lib"]
|
24
|
+
|
25
|
+
s.post_install_message = %{
|
26
|
+
Add this to your radiant project with:
|
27
|
+
config.gem 'radiant-vcard_part-extension', :version => '~>#{RadiantVcardPartExtension::VERSION}'
|
28
|
+
}
|
29
|
+
end
|
data/spec/spec.opts
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
unless defined? RADIANT_ROOT
|
2
|
+
ENV["RAILS_ENV"] = "test"
|
3
|
+
case
|
4
|
+
when ENV["RADIANT_ENV_FILE"]
|
5
|
+
require ENV["RADIANT_ENV_FILE"]
|
6
|
+
when File.dirname(__FILE__) =~ %r{vendor/radiant/vendor/extensions}
|
7
|
+
require "#{File.expand_path(File.dirname(__FILE__) + "/../../../../../../")}/config/environment"
|
8
|
+
else
|
9
|
+
require "#{File.expand_path(File.dirname(__FILE__) + "/../../../../")}/config/environment"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
require "#{RADIANT_ROOT}/spec/spec_helper"
|
13
|
+
|
14
|
+
Dataset::Resolver.default << (File.dirname(__FILE__) + "/datasets")
|
15
|
+
|
16
|
+
if File.directory?(File.dirname(__FILE__) + "/matchers")
|
17
|
+
Dir[File.dirname(__FILE__) + "/matchers/*.rb"].each {|file| require file }
|
18
|
+
end
|
19
|
+
|
20
|
+
Spec::Runner.configure do |config|
|
21
|
+
# config.use_transactional_fixtures = true
|
22
|
+
# config.use_instantiated_fixtures = false
|
23
|
+
# config.fixture_path = RAILS_ROOT + '/spec/fixtures'
|
24
|
+
|
25
|
+
# You can declare fixtures for each behaviour like this:
|
26
|
+
# describe "...." do
|
27
|
+
# fixtures :table_a, :table_b
|
28
|
+
#
|
29
|
+
# Alternatively, if you prefer to declare them only once, you can
|
30
|
+
# do so here, like so ...
|
31
|
+
#
|
32
|
+
# config.global_fixtures = :table_a, :table_b
|
33
|
+
#
|
34
|
+
# If you declare global fixtures, be aware that they will be declared
|
35
|
+
# for all of your examples, even those that don't use them.
|
36
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Uncomment this if you reference any of your controllers in activate
|
2
|
+
# require_dependency 'application_controller'
|
3
|
+
require 'radiant-vcard_part-extension/version'
|
4
|
+
class VcardPartExtension < Radiant::Extension
|
5
|
+
version RadiantVcardPartExtension::VERSION
|
6
|
+
description "Adds a vCardPagePart type."
|
7
|
+
url "https://github.com/jomz/radiant-vcard_part-extension"
|
8
|
+
|
9
|
+
extension_config do |config|
|
10
|
+
# config.gem 'radiant-page_parts-extension'
|
11
|
+
end
|
12
|
+
|
13
|
+
def activate
|
14
|
+
Page.send :include, VcardPartExtension::PageExtensions
|
15
|
+
# tab 'Content' do
|
16
|
+
# add_item "Vcard Part", "/admin/vcard_part", :after => "Pages"
|
17
|
+
# end
|
18
|
+
end
|
19
|
+
end
|
metadata
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: radiant-vcard_part-extension
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 1.0.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Benny Degezelle
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-07-04 00:00:00 +02:00
|
19
|
+
default_executable:
|
20
|
+
dependencies: []
|
21
|
+
|
22
|
+
description: Adds a vCardPagePart type. Requires radiant-page_parts-extension.
|
23
|
+
email:
|
24
|
+
- hi@mokeypatch.be
|
25
|
+
executables: []
|
26
|
+
|
27
|
+
extensions: []
|
28
|
+
|
29
|
+
extra_rdoc_files: []
|
30
|
+
|
31
|
+
files:
|
32
|
+
- app/models/vcard.rb
|
33
|
+
- app/models/vcard_page_part.rb
|
34
|
+
- app/views/admin/page_parts/_vcard_page_part.html.haml
|
35
|
+
- config/initializers/radiant_config.rb
|
36
|
+
- config/locales/en.yml
|
37
|
+
- config/locales/nl.yml
|
38
|
+
- config/routes.rb
|
39
|
+
- cucumber.yml
|
40
|
+
- db/migrate/20110703153748_create_vcards.rb
|
41
|
+
- features/support/env.rb
|
42
|
+
- features/support/paths.rb
|
43
|
+
- lib/radiant-vcard_part-extension/version.rb
|
44
|
+
- lib/radiant-vcard_part-extension.rb
|
45
|
+
- lib/tasks/vcard_part_extension_tasks.rake
|
46
|
+
- lib/vcard_part_extension/page_extensions.rb
|
47
|
+
- radiant-vcard_part-extension.gemspec
|
48
|
+
- Rakefile
|
49
|
+
- README
|
50
|
+
- spec/models/vcard_spec.rb
|
51
|
+
- spec/spec.opts
|
52
|
+
- spec/spec_helper.rb
|
53
|
+
- vcard_part_extension.rb
|
54
|
+
has_rdoc: true
|
55
|
+
homepage: https://github.com/jomz/radiant-vcard_part-extension
|
56
|
+
licenses: []
|
57
|
+
|
58
|
+
post_install_message: "\n Add this to your radiant project with:\n config.gem 'radiant-vcard_part-extension', :version => '~>1.0.0'\n "
|
59
|
+
rdoc_options: []
|
60
|
+
|
61
|
+
require_paths:
|
62
|
+
- lib
|
63
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
hash: 3
|
69
|
+
segments:
|
70
|
+
- 0
|
71
|
+
version: "0"
|
72
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
hash: 3
|
78
|
+
segments:
|
79
|
+
- 0
|
80
|
+
version: "0"
|
81
|
+
requirements: []
|
82
|
+
|
83
|
+
rubyforge_project:
|
84
|
+
rubygems_version: 1.6.2
|
85
|
+
signing_key:
|
86
|
+
specification_version: 3
|
87
|
+
summary: Vcard Part for Radiant CMS
|
88
|
+
test_files:
|
89
|
+
- spec/models/vcard_spec.rb
|
90
|
+
- spec/spec.opts
|
91
|
+
- spec/spec_helper.rb
|
92
|
+
- features/support/env.rb
|
93
|
+
- features/support/paths.rb
|