merb-search 0.1.1
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/LICENSE +20 -0
- data/README +51 -0
- data/Rakefile +51 -0
- data/app/controllers/application.rb +5 -0
- data/app/controllers/search.rb +45 -0
- data/app/views/search/index.html.erb +0 -0
- data/app/views/search/web.html.erb +37 -0
- data/lib/merb-search/merbtasks.rb +103 -0
- data/lib/merb-search/slicetasks.rb +18 -0
- data/lib/merb-search/spectasks.rb +65 -0
- data/lib/merb-search.rb +28 -0
- metadata +86 -0
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2008 Jamie Hoover
|
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
@@ -0,0 +1,51 @@
|
|
1
|
+
Installation:
|
2
|
+
|
3
|
+
1.) Install merb-search gem.
|
4
|
+
sudo gem install merb-search
|
5
|
+
|
6
|
+
2.) Navigate to your merb application.
|
7
|
+
cd ~/your_merb_app/
|
8
|
+
|
9
|
+
3.) Add to your dependencies file.
|
10
|
+
vim config/dependencies.rb
|
11
|
+
a
|
12
|
+
|
13
|
+
dependency 'merb-search'
|
14
|
+
|
15
|
+
esc : wq
|
16
|
+
|
17
|
+
4.) Add options to your init file in the before_app_loads callback.
|
18
|
+
vim config/init.rb
|
19
|
+
a
|
20
|
+
|
21
|
+
Merb::BootLoader.before_app_loads do
|
22
|
+
boss.appid = 'Bossdemo'
|
23
|
+
end
|
24
|
+
|
25
|
+
esc : wq
|
26
|
+
|
27
|
+
5.) Add to your router file.
|
28
|
+
vim config/router.rb
|
29
|
+
a
|
30
|
+
|
31
|
+
slice(:merb_search)
|
32
|
+
|
33
|
+
esc : wq
|
34
|
+
|
35
|
+
6.) Start your merb application and search.
|
36
|
+
http://your_domain/search
|
37
|
+
|
38
|
+
------------------------------------------------------------------------------
|
39
|
+
|
40
|
+
Advanced:
|
41
|
+
|
42
|
+
# List all available tasks:
|
43
|
+
rake -T slices:merb_photos
|
44
|
+
|
45
|
+
# Put your application-level overrides in:
|
46
|
+
host-app/slices/merb-search/
|
47
|
+
|
48
|
+
# Templates are located in this order:
|
49
|
+
1. host-app/slices/merb-search/app/views/*
|
50
|
+
2. gems/merb-search/app/views/*
|
51
|
+
3. host-app/app/views/*
|
data/Rakefile
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake/gempackagetask'
|
3
|
+
require 'merb-core'
|
4
|
+
require 'merb-core/tasks/merb'
|
5
|
+
|
6
|
+
spec = Gem::Specification.new do |s|
|
7
|
+
s.add_dependency('merb-slices', '~> 1.0.0')
|
8
|
+
s.add_dependency('merb-ui', '>= 0.3')
|
9
|
+
s.author = 'UiPoet'
|
10
|
+
s.email = 'dont.tase@me.com'
|
11
|
+
s.files = FileList['app/**/*', 'lib/**/*', '[A-Z]*'].to_a
|
12
|
+
s.has_rdoc = true
|
13
|
+
s.homepage = 'http://uipoet.com'
|
14
|
+
s.name = 'merb-search'
|
15
|
+
s.rubyforge_project = 'uipoet'
|
16
|
+
s.summary = 'Search for Merb'
|
17
|
+
s.version = '0.1.1'
|
18
|
+
end
|
19
|
+
|
20
|
+
Rake::GemPackageTask.new(spec) do |pkg|
|
21
|
+
pkg.gem_spec = spec
|
22
|
+
end
|
23
|
+
|
24
|
+
desc 'Create gemspec'
|
25
|
+
task :gemspec do
|
26
|
+
File.open("#{spec.name}.gemspec", 'w') do |file|
|
27
|
+
file.puts spec.to_ruby
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
desc 'Install gem'
|
32
|
+
task :install do
|
33
|
+
Merb::RakeHelper.install(spec.name, :version => spec.version)
|
34
|
+
end
|
35
|
+
|
36
|
+
desc 'Release gem to rubyforge.org'
|
37
|
+
task :release do
|
38
|
+
require 'rubyforge'
|
39
|
+
sh 'sudo rake package'
|
40
|
+
begin
|
41
|
+
sh 'rubyforge login'
|
42
|
+
sh "rubyforge add_release #{spec.rubyforge_project} #{spec.name} #{spec.version} pkg/#{spec.name}-#{spec.version}.gem"
|
43
|
+
rescue Exception => e
|
44
|
+
puts "Release failed: #{e.message}"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
desc 'Uninstall gem'
|
49
|
+
task :uninstall do
|
50
|
+
Merb::RakeHelper.uninstall(spec.name, :version => spec.name)
|
51
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
class MerbSearch::Search < MerbSearch::Application
|
2
|
+
|
3
|
+
def index
|
4
|
+
|
5
|
+
render
|
6
|
+
|
7
|
+
end
|
8
|
+
|
9
|
+
def images
|
10
|
+
|
11
|
+
@query = params[:q] || 'merb'
|
12
|
+
@images = boss.images.new(@query, :count => 12).resultset
|
13
|
+
@news = boss.news.new(@query, :age => '1d', :count => 3).resultset
|
14
|
+
@spelling = boss.web.new(@query).resultset
|
15
|
+
@web = boss.web.new(@query, :count => 3).resultset
|
16
|
+
|
17
|
+
display @images
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
def news
|
22
|
+
|
23
|
+
@query = params[:q] || 'merb'
|
24
|
+
@images = boss.images.new(@query, :count => 3).resultset
|
25
|
+
@news = boss.news.new(@query, :age => '1w', :count => 12).resultset
|
26
|
+
@spelling = boss.web.new(@query).resultset
|
27
|
+
@web = boss.web.new(@query, :count => 3).resultset
|
28
|
+
|
29
|
+
display @news
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
def web
|
34
|
+
|
35
|
+
@query = params[:q] || 'merb'
|
36
|
+
@images = boss.images.new(@query, :count => 3).resultset
|
37
|
+
@news = boss.news.new(@query, :age => '1d', :count => 3).resultset
|
38
|
+
@spelling = boss.web.new(@query).resultset
|
39
|
+
@web = boss.web.new(@query, :count => 12).resultset
|
40
|
+
|
41
|
+
display @web
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
File without changes
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<%= mui_grid(:cell_valign => 'top', :columns => 2, :width => '100%') do %>
|
2
|
+
<%= mui_cell do %>
|
3
|
+
<% @web.each do |result| %>
|
4
|
+
<%= mui_tray(:inline => true, :title => result.title, :title_url => result.clickurl, :width => '20em') do %>
|
5
|
+
<%= mui_block(:height => '8em') do %>
|
6
|
+
<%= result.abstract %>
|
7
|
+
<% end =%>
|
8
|
+
<%= mui_block(:subtle => true) do %>
|
9
|
+
<%= result.date %>
|
10
|
+
<% end =%>
|
11
|
+
<%= mui_block(:subtle => true, :truncate => true) do %>
|
12
|
+
<%= result.dispurl(:wbr => false) %>
|
13
|
+
<% end =%>
|
14
|
+
<% end =%>
|
15
|
+
<% end %>
|
16
|
+
<% end =%>
|
17
|
+
<%= mui_cell do %>
|
18
|
+
<%= mui_tray(:title => 'Images', :inline => true, :width => '20em') do %>
|
19
|
+
<%= mui_grid(:columns => 3, :width => '100%') do %>
|
20
|
+
<% @images.each do |result| %>
|
21
|
+
<%= mui_cell do %>
|
22
|
+
<%= mui_link(:url => result.clickurl) do %>
|
23
|
+
<%= mui_image(:height => 60, :url => result.thumbnail_url, :width => 60) %>
|
24
|
+
<% end =%>
|
25
|
+
<% end =%>
|
26
|
+
<% end %>
|
27
|
+
<% end =%>
|
28
|
+
<% end =%>
|
29
|
+
<%= mui_tray(:title => 'News', :inline => true, :width => '20em') do %>
|
30
|
+
<% @news.each do |result| %>
|
31
|
+
<%= mui_block(:width => '200px') do %>
|
32
|
+
<%= mui_link(:title => result.title, :url => result.clickurl) %> <span class="mui_date"><%= result.time %></span>
|
33
|
+
<% end =%>
|
34
|
+
<% end %>
|
35
|
+
<% end =%>
|
36
|
+
<% end =%>
|
37
|
+
<% end =%>
|
@@ -0,0 +1,103 @@
|
|
1
|
+
namespace :slices do
|
2
|
+
namespace :merb_search do
|
3
|
+
|
4
|
+
desc "Install MerbSearch"
|
5
|
+
task :install => [:preflight, :setup_directories, :copy_assets, :migrate]
|
6
|
+
|
7
|
+
desc "Test for any dependencies"
|
8
|
+
task :preflight do # see slicetasks.rb
|
9
|
+
end
|
10
|
+
|
11
|
+
desc "Setup directories"
|
12
|
+
task :setup_directories do
|
13
|
+
puts "Creating directories for host application"
|
14
|
+
MerbSearch.mirrored_components.each do |type|
|
15
|
+
if File.directory?(MerbSearch.dir_for(type))
|
16
|
+
if !File.directory?(dst_path = MerbSearch.app_dir_for(type))
|
17
|
+
relative_path = dst_path.relative_path_from(Merb.root)
|
18
|
+
puts "- creating directory :#{type} #{File.basename(Merb.root) / relative_path}"
|
19
|
+
mkdir_p(dst_path)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
desc "Copy stub files to host application"
|
26
|
+
task :stubs do
|
27
|
+
puts "Copying stubs for MerbSearch - resolves any collisions"
|
28
|
+
copied, preserved = MerbSearch.mirror_stubs!
|
29
|
+
puts "- no files to copy" if copied.empty? && preserved.empty?
|
30
|
+
copied.each { |f| puts "- copied #{f}" }
|
31
|
+
preserved.each { |f| puts "! preserved override as #{f}" }
|
32
|
+
end
|
33
|
+
|
34
|
+
desc "Copy stub files and views to host application"
|
35
|
+
task :patch => [ "stubs", "freeze:views" ]
|
36
|
+
|
37
|
+
desc "Copy public assets to host application"
|
38
|
+
task :copy_assets do
|
39
|
+
puts "Copying assets for MerbSearch - resolves any collisions"
|
40
|
+
copied, preserved = MerbSearch.mirror_public!
|
41
|
+
puts "- no files to copy" if copied.empty? && preserved.empty?
|
42
|
+
copied.each { |f| puts "- copied #{f}" }
|
43
|
+
preserved.each { |f| puts "! preserved override as #{f}" }
|
44
|
+
end
|
45
|
+
|
46
|
+
desc "Migrate the database"
|
47
|
+
task :migrate do # see slicetasks.rb
|
48
|
+
end
|
49
|
+
|
50
|
+
desc "Freeze MerbSearch into your app (only merb-search/app)"
|
51
|
+
task :freeze => [ "freeze:app" ]
|
52
|
+
|
53
|
+
namespace :freeze do
|
54
|
+
|
55
|
+
desc "Freezes MerbSearch by installing the gem into application/gems"
|
56
|
+
task :gem do
|
57
|
+
ENV["GEM"] ||= "merb-search"
|
58
|
+
Rake::Task['slices:install_as_gem'].invoke
|
59
|
+
end
|
60
|
+
|
61
|
+
desc "Freezes MerbSearch by copying all files from merb-search/app to your application"
|
62
|
+
task :app do
|
63
|
+
puts "Copying all merb-search/app files to your application - resolves any collisions"
|
64
|
+
copied, preserved = MerbSearch.mirror_app!
|
65
|
+
puts "- no files to copy" if copied.empty? && preserved.empty?
|
66
|
+
copied.each { |f| puts "- copied #{f}" }
|
67
|
+
preserved.each { |f| puts "! preserved override as #{f}" }
|
68
|
+
end
|
69
|
+
|
70
|
+
desc "Freeze all views into your application for easy modification"
|
71
|
+
task :views do
|
72
|
+
puts "Copying all view templates to your application - resolves any collisions"
|
73
|
+
copied, preserved = MerbSearch.mirror_files_for :view
|
74
|
+
puts "- no files to copy" if copied.empty? && preserved.empty?
|
75
|
+
copied.each { |f| puts "- copied #{f}" }
|
76
|
+
preserved.each { |f| puts "! preserved override as #{f}" }
|
77
|
+
end
|
78
|
+
|
79
|
+
desc "Freeze all models into your application for easy modification"
|
80
|
+
task :models do
|
81
|
+
puts "Copying all models to your application - resolves any collisions"
|
82
|
+
copied, preserved = MerbSearch.mirror_files_for :model
|
83
|
+
puts "- no files to copy" if copied.empty? && preserved.empty?
|
84
|
+
copied.each { |f| puts "- copied #{f}" }
|
85
|
+
preserved.each { |f| puts "! preserved override as #{f}" }
|
86
|
+
end
|
87
|
+
|
88
|
+
desc "Freezes MerbSearch as a gem and copies over merb-search/app"
|
89
|
+
task :app_with_gem => [:gem, :app]
|
90
|
+
|
91
|
+
desc "Freezes MerbSearch by unpacking all files into your application"
|
92
|
+
task :unpack do
|
93
|
+
puts "Unpacking MerbSearch files to your application - resolves any collisions"
|
94
|
+
copied, preserved = MerbSearch.unpack_slice!
|
95
|
+
puts "- no files to copy" if copied.empty? && preserved.empty?
|
96
|
+
copied.each { |f| puts "- copied #{f}" }
|
97
|
+
preserved.each { |f| puts "! preserved override as #{f}" }
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
103
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
namespace :slices do
|
2
|
+
namespace :merb_search do
|
3
|
+
|
4
|
+
# add your own merb-search tasks here
|
5
|
+
|
6
|
+
# implement this to test for structural/code dependencies
|
7
|
+
# like certain directories or availability of other files
|
8
|
+
desc "Test for any dependencies"
|
9
|
+
task :preflight do
|
10
|
+
end
|
11
|
+
|
12
|
+
# implement this to perform any database related setup steps
|
13
|
+
desc "Migrate the database"
|
14
|
+
task :migrate do
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
namespace :slices do
|
2
|
+
namespace :merb_search do
|
3
|
+
|
4
|
+
desc "Run slice specs within the host application context"
|
5
|
+
task :spec => [ "spec:explain", "spec:default" ]
|
6
|
+
|
7
|
+
namespace :spec do
|
8
|
+
|
9
|
+
slice_root = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
|
10
|
+
|
11
|
+
task :explain do
|
12
|
+
puts "\nNote: By running MerbSearch specs inside the application context any\n" +
|
13
|
+
"overrides could break existing specs. This isn't always a problem,\n" +
|
14
|
+
"especially in the case of views. Use these spec tasks to check how\n" +
|
15
|
+
"well your application conforms to the original slice implementation."
|
16
|
+
end
|
17
|
+
|
18
|
+
Spec::Rake::SpecTask.new('default') do |t|
|
19
|
+
t.spec_opts = ["--format", "specdoc", "--colour"]
|
20
|
+
t.spec_files = Dir["#{slice_root}/spec/**/*_spec.rb"].sort
|
21
|
+
end
|
22
|
+
|
23
|
+
desc "Run all model specs, run a spec for a specific Model with MODEL=MyModel"
|
24
|
+
Spec::Rake::SpecTask.new('model') do |t|
|
25
|
+
t.spec_opts = ["--format", "specdoc", "--colour"]
|
26
|
+
if(ENV['MODEL'])
|
27
|
+
t.spec_files = Dir["#{slice_root}/spec/models/**/#{ENV['MODEL']}_spec.rb"].sort
|
28
|
+
else
|
29
|
+
t.spec_files = Dir["#{slice_root}/spec/models/**/*_spec.rb"].sort
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
desc "Run all controller specs, run a spec for a specific Controller with CONTROLLER=MyController"
|
34
|
+
Spec::Rake::SpecTask.new('controller') do |t|
|
35
|
+
t.spec_opts = ["--format", "specdoc", "--colour"]
|
36
|
+
if(ENV['CONTROLLER'])
|
37
|
+
t.spec_files = Dir["#{slice_root}/spec/controllers/**/#{ENV['CONTROLLER']}_spec.rb"].sort
|
38
|
+
else
|
39
|
+
t.spec_files = Dir["#{slice_root}/spec/controllers/**/*_spec.rb"].sort
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
desc "Run all view specs, run specs for a specific controller (and view) with CONTROLLER=MyController (VIEW=MyView)"
|
44
|
+
Spec::Rake::SpecTask.new('view') do |t|
|
45
|
+
t.spec_opts = ["--format", "specdoc", "--colour"]
|
46
|
+
if(ENV['CONTROLLER'] and ENV['VIEW'])
|
47
|
+
t.spec_files = Dir["#{slice_root}/spec/views/**/#{ENV['CONTROLLER']}/#{ENV['VIEW']}*_spec.rb"].sort
|
48
|
+
elsif(ENV['CONTROLLER'])
|
49
|
+
t.spec_files = Dir["#{slice_root}/spec/views/**/#{ENV['CONTROLLER']}/*_spec.rb"].sort
|
50
|
+
else
|
51
|
+
t.spec_files = Dir["#{slice_root}/spec/views/**/*_spec.rb"].sort
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
desc "Run all specs and output the result in html"
|
56
|
+
Spec::Rake::SpecTask.new('html') do |t|
|
57
|
+
t.spec_opts = ["--format", "html"]
|
58
|
+
t.libs = ['lib', 'server/lib' ]
|
59
|
+
t.spec_files = Dir["#{slice_root}/spec/**/*_spec.rb"].sort
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
end
|
data/lib/merb-search.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
if defined?(Merb::Plugins)
|
2
|
+
|
3
|
+
$:.unshift File.dirname(__FILE__)
|
4
|
+
|
5
|
+
dependencies('boss', 'merb-ui')
|
6
|
+
|
7
|
+
Merb::Plugins.add_rakefiles('merb-search/merbtasks', 'merb-search/slicetasks', 'merb-search/spectasks')
|
8
|
+
|
9
|
+
Merb::Slices::register(__FILE__)
|
10
|
+
|
11
|
+
Merb::Slices::config[:merb_search][:layout] ||= :application
|
12
|
+
|
13
|
+
module MerbSearch
|
14
|
+
|
15
|
+
def self.setup_router(scope)
|
16
|
+
scope.to(:controller => 'search') do |s|
|
17
|
+
s.match('/').to(:action => 'index').name(:index)
|
18
|
+
s.match('/images').to(:action => 'images').name(:images)
|
19
|
+
s.match('/news').to(:action => 'news').name(:news)
|
20
|
+
s.match('/web').to(:action => 'web').name(:web)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
MerbSearch.setup_default_structure!
|
27
|
+
|
28
|
+
end
|
metadata
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: merb-search
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- UiPoet
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-12-16 00:00:00 -08:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: merb-slices
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ~>
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.0.0
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: merb-ui
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0.3"
|
34
|
+
version:
|
35
|
+
description:
|
36
|
+
email: dont.tase@me.com
|
37
|
+
executables: []
|
38
|
+
|
39
|
+
extensions: []
|
40
|
+
|
41
|
+
extra_rdoc_files: []
|
42
|
+
|
43
|
+
files:
|
44
|
+
- app/controllers
|
45
|
+
- app/controllers/application.rb
|
46
|
+
- app/controllers/search.rb
|
47
|
+
- app/views
|
48
|
+
- app/views/search
|
49
|
+
- app/views/search/index.html.erb
|
50
|
+
- app/views/search/web.html.erb
|
51
|
+
- lib/merb-search
|
52
|
+
- lib/merb-search/merbtasks.rb
|
53
|
+
- lib/merb-search/slicetasks.rb
|
54
|
+
- lib/merb-search/spectasks.rb
|
55
|
+
- lib/merb-search.rb
|
56
|
+
- LICENSE
|
57
|
+
- Rakefile
|
58
|
+
- README
|
59
|
+
has_rdoc: true
|
60
|
+
homepage: http://uipoet.com
|
61
|
+
post_install_message:
|
62
|
+
rdoc_options: []
|
63
|
+
|
64
|
+
require_paths:
|
65
|
+
- lib
|
66
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: "0"
|
71
|
+
version:
|
72
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: "0"
|
77
|
+
version:
|
78
|
+
requirements: []
|
79
|
+
|
80
|
+
rubyforge_project: uipoet
|
81
|
+
rubygems_version: 1.3.1
|
82
|
+
signing_key:
|
83
|
+
specification_version: 2
|
84
|
+
summary: Search for Merb
|
85
|
+
test_files: []
|
86
|
+
|