voidtools 0.2.2 → 0.2.3

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.md CHANGED
@@ -1,22 +1,18 @@
1
1
  # Voidtools
2
- #### growing toolset for Rails 3 dm+jquery+haml+warden setup flavored with:
3
-
4
-
5
- ### building the gem locally and installing it in one line (for trying things and stuff):
6
-
7
- gem build voidtools.gemspec; gem install voidtools-0.2.1.gem
8
-
2
+ #### growing toolset for Rails 3 and Sinatra with DataMapper and HAML class and helper modules
9
3
 
10
4
  ---
11
5
 
12
6
  ### DataMapper
13
- - `error_messages_for`
14
-
15
- ### Haml
16
- - soon...
7
+ - form helpers: error_messages_for
8
+ - name url
9
+ - pagination
17
10
 
18
- ### Warden, Devise
19
- - soon...
11
+ ### Sinatra
12
+ - view helpers
13
+ - link_to
14
+ - image tag
15
+ - include_assets (include_js, include_css)
20
16
 
21
17
  note: ruby 1.9 required
22
18
 
@@ -33,4 +29,4 @@ or
33
29
 
34
30
  ### Build & install
35
31
 
36
- gem build voidtools.gemspec; gem install voidtools-0.1.2.gem
32
+ gem build voidtools.gemspec; gem install voidtools-0.2.3.gem
@@ -0,0 +1,152 @@
1
+
2
+ set :application, "thorrents"
3
+
4
+ #set :domain, "krikri.makevoid.com"
5
+ set :domain, "ovh.makevoid.com"
6
+
7
+ # git
8
+
9
+ # #set :repository, "svn://#{domain}/svn/#{application}"
10
+ # #default_run_options[:pty] = true # Must be set for the password prompt from git to work
11
+ set :repository, "git://github.com/makevoid/thorrents.git" # public
12
+
13
+ set :scm, "git"
14
+ set :branch, "master"
15
+ set :deploy_via, :remote_cache
16
+
17
+ set :password, File.read("/Users/makevoid/.password").strip.gsub(/33/, '')
18
+
19
+
20
+ set :user, "www-data"
21
+
22
+ set :use_sudo, false
23
+ set :deploy_to, "/www/#{application}"
24
+
25
+
26
+
27
+ # set :scm_username, "makevoid"
28
+ # set :scm_password, File.read("/home/www-data/.password").strip
29
+
30
+ role :app, domain
31
+ role :web, domain
32
+ role :db, domain, :primary => true
33
+
34
+
35
+
36
+
37
+ after :deploy, "deploy:cleanup"
38
+ #after :deploy, "db:seeds"
39
+
40
+ namespace :deploy do
41
+
42
+ desc "Restart Application"
43
+ task :restart, :roles => :app do
44
+ run "touch #{current_path}/tmp/restart.txt"
45
+ end
46
+
47
+ end
48
+
49
+ namespace :bundle do
50
+ desc "Install gems with bundler"
51
+ task :install do
52
+ run "cd #{current_path}; bundle install --relock"
53
+ end
54
+
55
+ desc "Commit, deploy and install"
56
+ task :installscom do
57
+ `svn commit -m ''`
58
+ `cap deploy`
59
+ `cap bundle:install`
60
+ end
61
+ end
62
+
63
+ # ...
64
+
65
+ namespace :bundler do
66
+ task :create_symlink, :roles => :app do
67
+ shared_dir = File.join(shared_path, 'bundle')
68
+ release_dir = File.join(current_release, '.bundle')
69
+ run("mkdir -p #{shared_dir} && ln -s #{shared_dir} #{release_dir}")
70
+ end
71
+
72
+ task :bundle_new_release, :roles => :app do
73
+ bundler.create_symlink
74
+ run "cd #{release_path} && bundle install --without test"
75
+ end
76
+
77
+ task :lock, :roles => :app do
78
+ run "cd #{current_release} && bundle lock;"
79
+ end
80
+
81
+ task :unlock, :roles => :app do
82
+ run "cd #{current_release} && bundle unlock;"
83
+ end
84
+ end
85
+
86
+ # HOOKS
87
+ after "deploy:update_code" do
88
+ bundler.bundle_new_release
89
+ # ...
90
+ end
91
+
92
+ R_ENV = "RACK_ENV"
93
+
94
+ namespace :scraper do
95
+ desc "Run the scraper"
96
+ task :scrape do
97
+ run "cd #{current_path}; #{R_ENV}=production bundle exec rake scraper:scrape --trace"
98
+ end
99
+ end
100
+
101
+
102
+ namespace :db do
103
+ desc "Create database"
104
+ task :create do
105
+ run "mysql -u root --password=#{password} -e 'CREATE DATABASE IF NOT EXISTS #{application}_production;'"
106
+ end
107
+
108
+ desc "Seed database"
109
+ task :seeds do
110
+ run "cd #{current_path}; #{R_ENV}=production rake db:seeds"
111
+ end
112
+
113
+ desc "Migrate database"
114
+ task :automigrate do
115
+ run "cd #{current_path}; #{R_ENV}=production rake db:automigrate --trace"
116
+ end
117
+
118
+ desc "Send the local db to production server"
119
+ task :toprod do
120
+ # `rake db:seeds`
121
+ `mysqldump -u root #{application}_development > db/#{application}_development.sql`
122
+ upload "db/#{application}_development.sql", "#{current_path}/db", :via => :scp
123
+ run "mysql -u root --password=#{password} #{application}_production < #{current_path}/db/#{application}_development.sql"
124
+ end
125
+
126
+ desc "Get the remote copy of production db"
127
+ task :todev do
128
+ run "mysqldump -u root --password=#{password} #{application}_production > #{current_path}/db/#{application}_production.sql"
129
+ download "#{current_path}/db/#{application}_production.sql", "db/#{application}_production.sql"
130
+ local_path = `pwd`.strip
131
+ `mysql -u root #{application}_development < #{local_path}/db/#{application}_production.sql`
132
+
133
+
134
+ desc "Get the remote copy of production db [option: BACKUP]"
135
+ task :todev do
136
+ run "mysqldump -u root --password=#{password} #{application}_production > #{current_path}/db/#{application}_production.sql"
137
+ download "#{current_path}/db/#{application}_production.sql", "db/#{application}_production.sql"
138
+ local_path = `pwd`.strip
139
+ `mysql -u root #{application}_development < #{local_path}/db/#{application}_production.sql`
140
+
141
+ t = Time.now
142
+ file = "#{application}_production_#{t.strftime("%Y_%m_%d")}.sql"
143
+ `mv db/#{application}_production.sql db/#{file}`
144
+
145
+ if ENV["BACKUP"] != "" || ENV["BACKUP"].nil?
146
+ `cp db/#{file} ~/db_backups/`
147
+ puts "Backup saved on ~/db_backups/#{file}"
148
+ end
149
+ end
150
+ end
151
+ end
152
+
@@ -8,9 +8,11 @@ module Voidtools
8
8
  entity
9
9
  end
10
10
  return nil if obj.errors.map{ |e| e } == []
11
- lis = "".html_safe
12
- obj.errors.map{ |e| lis << content_tag( :li, e[0].to_s) }
13
- content_tag( :ul, lis, class: "error_messages")
11
+ haml_tag :ul, { class: "error_messages" } do
12
+ obj.errors.map do |err|
13
+ haml_tag(:li){ haml_concat err[0].to_s }
14
+ end
15
+ end
14
16
  end
15
17
 
16
18
  end
@@ -2,23 +2,24 @@ module Voidtools
2
2
 
3
3
  module Paginable
4
4
 
5
- PER_PAGE = 70
6
-
7
5
  def self.included(base)
8
6
  base.send :extend, ClassMethods
9
7
  end
10
8
 
11
9
  module ClassMethods
10
+ def x_page
11
+ defined?(per_page) ? per_page : 10
12
+ end
13
+
12
14
  def paginate(options)
13
15
  page = options[:page].to_i
14
16
  options.delete :page
15
- all( options.merge(limit: PER_PAGE, offset: PER_PAGE*page) )
17
+ all( options.merge(limit: x_page, offset: x_page*page) )
16
18
  end
17
19
 
18
20
  def pages
19
- all.count/PER_PAGE
21
+ all.count/x_page
20
22
  end
21
-
22
23
  end
23
24
 
24
25
  end
@@ -14,6 +14,27 @@ module Voidtools
14
14
  def image_tag(url, options={})
15
15
  haml_tag :img, options.merge(src: url)
16
16
  end
17
+
18
+ def include_assets(type, assets)
19
+ type_js = type == "js"
20
+ tag = type_js ? "script" : "link"
21
+ [assets].flatten.each do |asset|
22
+ options = if type_js
23
+ { type: "text/javascript", src: "/js/#{asset}.js" }
24
+ else
25
+ { rel: "stylesheet", href: "/css/#{asset}.css" }
26
+ end
27
+ haml_tag tag, options
28
+ end
29
+ end
30
+
31
+ def include_js(assets)
32
+ include_assets "js", assets
33
+ end
34
+
35
+ def include_css(assets)
36
+ include_assets "css", assets
37
+ end
17
38
  end
18
39
  end
19
40
  end
@@ -1,3 +1,3 @@
1
1
  module Voidtools
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: voidtools
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 2
8
- - 2
9
- version: 0.2.2
4
+ prerelease:
5
+ version: 0.2.3
10
6
  platform: ruby
11
7
  authors:
12
8
  - Francesco 'makevoid' Canessa
@@ -14,7 +10,7 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2011-01-17 00:00:00 +01:00
13
+ date: 2011-06-07 00:00:00 +02:00
18
14
  default_executable:
19
15
  dependencies: []
20
16
 
@@ -28,6 +24,7 @@ extra_rdoc_files: []
28
24
 
29
25
  files:
30
26
  - Readme.md
27
+ - lib/voidtools/cap/deploy.rb
31
28
  - lib/voidtools/dm/form_helpers.rb
32
29
  - lib/voidtools/dm/name_url.rb
33
30
  - lib/voidtools/dm/paginable.rb
@@ -50,21 +47,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
50
47
  requirements:
51
48
  - - ">="
52
49
  - !ruby/object:Gem::Version
53
- segments:
54
- - 0
55
50
  version: "0"
56
51
  required_rubygems_version: !ruby/object:Gem::Requirement
57
52
  none: false
58
53
  requirements:
59
54
  - - ">="
60
55
  - !ruby/object:Gem::Version
61
- segments:
62
- - 0
63
56
  version: "0"
64
57
  requirements: []
65
58
 
66
59
  rubyforge_project: voidtools
67
- rubygems_version: 1.3.7
60
+ rubygems_version: 1.6.2
68
61
  signing_key:
69
62
  specification_version: 3
70
63
  summary: custom rails3 toolset - for dm+jquery+haml+warden setup