rcss 0.3.0 → 0.3.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.
Files changed (5) hide show
  1. data/CHANGES +3 -0
  2. data/README +9 -0
  3. data/Rakefile +155 -40
  4. data/lib/rcss.rb +1 -1
  5. metadata +40 -43
data/CHANGES CHANGED
@@ -1,3 +1,6 @@
1
+ = Version 0.3.1
2
+ * fixed installation problem
3
+
1
4
  = Version 0.3.0
2
5
  * Initial public release
3
6
  * Server side constants/variables (no include support yet)
data/README CHANGED
@@ -144,10 +144,19 @@ Example
144
144
 
145
145
  == Installation
146
146
 
147
+ === Using RubyGems
148
+
147
149
  Download and install Rcss with the following command:
148
150
 
149
151
  gem install --remote rcss
150
152
 
153
+ === Manual
154
+
155
+ Download the gem file from "project page":http://rubyforge.org/projects/rcss/
156
+ and install it with following command
157
+
158
+ gem install rcss-0.3.0.gem
159
+
151
160
  == Usage
152
161
 
153
162
  === Command line
data/Rakefile CHANGED
@@ -1,12 +1,19 @@
1
- require 'rake'
2
- require 'rake/gempackagetask'
1
+ require 'rubygems'
2
+
3
+ Gem::manage_gems
4
+
3
5
  require 'rake/rdoctask'
6
+ require 'rake/packagetask'
7
+ require 'rake/gempackagetask'
8
+ require 'rake/contrib/rubyforgepublisher'
9
+
4
10
  require File.dirname(__FILE__) + '/lib/rcss'
5
11
 
6
- PKG_VERSION = Rcss::VERSION
7
- PKG_NAME = "rcss"
12
+ PKG_NAME = "rcss"
13
+ PKG_VERSION = Rcss::VERSION
14
+ PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
8
15
  RUBY_FORGE_PROJECT = "rcss"
9
- RUBY_FORGE_USER = "bragi"
16
+ RUBY_FORGE_USER = "bragi"
10
17
  PKG_FILES = FileList[
11
18
  'README',
12
19
  'CHANGES',
@@ -23,49 +30,33 @@ task :default => [:test, :gem, :rdoc]
23
30
 
24
31
  task :gem => :test
25
32
 
26
- rd = Rake::RDocTask.new("rdoc") { |rdoc|
33
+ rd = Rake::RDocTask.new("rdoc") do |rdoc|
27
34
  rdoc.rdoc_dir = 'html'
28
35
  rdoc.title = "Rcss - CSS Server-side Constants for Ruby/Rails"
29
- rdoc.options << '--line-numbers' << '--inline-source' << '--main' << 'README'
36
+ rdoc.options << '--line-numbers' << '--inline-source' << '--main' << 'README'
30
37
  rdoc.rdoc_files.include('README', 'MIT-LICENSE', 'TODO', 'CHANGES')
31
38
  rdoc.rdoc_files.include('lib/**/*.rb')
32
- }
39
+ end
33
40
 
34
41
  spec = Gem::Specification.new do |s|
35
-
36
- #### Basic information.
37
- s.name = PKG_NAME
38
- s.version = PKG_VERSION
39
- s.summary = "Rcss - CSS Server-side Constants for Ruby/Rails"
40
- s.description = <<-TXT
41
- No more search-and-replace in CSS files. Use your familiar ERB syntax (the
42
- same you use in rhtml files) to deliver constants to CSS files. You can
43
- even extract values for constants from database using ActiveRecord.
44
-
45
- * Familiar ERB syntax
46
-
47
- * Extend your classes with multiple attributes with ease
48
- TXT
49
- s.files = PKG_FILES.to_a
50
- s.executables << 'rcss'
51
-
52
- ## Load-time details
53
- s.autorequire = 'rcss'
54
- ## Author and project details
55
- s.author = "Bragi Ragnarson"
56
- s.email = "bragi.ragnarson@gmail.com"
42
+ s.name = PKG_NAME
43
+ s.version = PKG_VERSION
44
+ s.platform = Gem::Platform::RUBY
45
+ s.summary = "Rcss - CSS Server-side Constants for Ruby/Rails"
46
+ s.files = PKG_FILES.to_a
47
+ s.executables << 'rcss'
48
+ s.require_path = 'lib'
49
+ s.autorequire = 'rcss'
50
+ s.author = "Bragi Ragnarson"
51
+ s.email = "bragi.ragnarson@gmail.com"
57
52
  s.rubyforge_project = RUBY_FORGE_PROJECT
58
- s.homepage = "http://rcss.rubyforge.org"
59
-
60
- #### Documentation and testing.
61
-
62
- s.has_rdoc = true
63
- # s.extra_rdoc_files = rd.rdoc_files.reject { |fn| fn =~ /\.rb$/ }.to_a
64
- s.rdoc_options <<
53
+ s.homepage = "http://rcss.rubyforge.org"
54
+ s.has_rdoc = true
55
+ s.rdoc_options <<
65
56
  '--title' << 'Rcss - CSS Server-side Constants for Ruby/Rails' <<
66
57
  '--main' << 'README' <<
67
58
  '--line-numbers'
68
- s.extra_rdoc_files = rd.rdoc_files.reject { |fn| fn =~ /\.rb$/ }.to_a
59
+ s.extra_rdoc_files = rd.rdoc_files.reject { |fn| fn =~ /\.rb$/ }.to_a
69
60
 
70
61
  end
71
62
 
@@ -92,6 +83,130 @@ task :test do |t|
92
83
  end
93
84
 
94
85
  Rake::GemPackageTask.new(spec) do |pkg|
95
- pkg.need_zip = true
96
- pkg.need_tar = true
86
+ pkg.need_zip = true
87
+ pkg.need_tar_gz = true
88
+ pkg.need_tar_bz2 = true
89
+ end
90
+
91
+ desc "Publish the API documentation"
92
+ task :pdoc => [:rdoc] do
93
+ Rake::RubyForgePublisher.new(RUBY_FORGE_PROJECT, RUBY_FORGE_USER).upload
97
94
  end
95
+
96
+ desc 'Publish the gem and API docs'
97
+ task :publish => [:pdoc, :rubyforge_upload]
98
+
99
+ desc "Publish the release files to RubyForge."
100
+ task :rubyforge_upload => :package do
101
+ files = %w(gem tgz).map { |ext| "pkg/#{PKG_FILE_NAME}.#{ext}" }
102
+
103
+ if RUBY_FORGE_PROJECT then
104
+ require 'net/http'
105
+ require 'open-uri'
106
+
107
+ project_uri = "http://rubyforge.org/projects/#{RUBY_FORGE_PROJECT}/"
108
+ project_data = open(project_uri) { |data| data.read }
109
+ group_id = project_data[/[?&]group_id=(\d+)/, 1]
110
+ raise "Couldn't get group id" unless group_id
111
+
112
+ # This echos password to shell which is a bit sucky
113
+ if ENV["RUBY_FORGE_PASSWORD"]
114
+ password = ENV["RUBY_FORGE_PASSWORD"]
115
+ else
116
+ print "#{RUBY_FORGE_USER}@rubyforge.org's password: "
117
+ password = STDIN.gets.chomp
118
+ end
119
+
120
+ login_response = Net::HTTP.start("rubyforge.org", 80) do |http|
121
+ data = [
122
+ "login=1",
123
+ "form_loginname=#{RUBY_FORGE_USER}",
124
+ "form_pw=#{password}"
125
+ ].join("&")
126
+ http.post("/account/login.php", data)
127
+ end
128
+
129
+ cookie = login_response["set-cookie"]
130
+ raise "Login failed" unless cookie
131
+ headers = { "Cookie" => cookie }
132
+
133
+ release_uri = "http://rubyforge.org/frs/admin/?group_id=#{group_id}"
134
+ release_data = open(release_uri, headers) { |data| data.read }
135
+ package_id = release_data[/[?&]package_id=(\d+)/, 1]
136
+ raise "Couldn't get package id" unless package_id
137
+
138
+ first_file = true
139
+ release_id = ""
140
+
141
+ files.each do |filename|
142
+ basename = File.basename(filename)
143
+ file_ext = File.extname(filename)
144
+ file_data = File.open(filename, "rb") { |file| file.read }
145
+
146
+ puts "Releasing #{basename}..."
147
+
148
+ release_response = Net::HTTP.start("rubyforge.org", 80) do |http|
149
+ release_date = Time.now.strftime("%Y-%m-%d %H:%M")
150
+ type_map = {
151
+ ".zip" => "3000",
152
+ ".tgz" => "3110",
153
+ ".gz" => "3110",
154
+ ".gem" => "1400"
155
+ }; type_map.default = "9999"
156
+ type = type_map[file_ext]
157
+ boundary = "rubyqMY6QN9bp6e4kS21H4y0zxcvoor"
158
+
159
+ query_hash = if first_file then
160
+ {
161
+ "group_id" => group_id,
162
+ "package_id" => package_id,
163
+ "release_name" => PKG_FILE_NAME,
164
+ "release_date" => release_date,
165
+ "type_id" => type,
166
+ "processor_id" => "8000", # Any
167
+ "release_notes" => "",
168
+ "release_changes" => "",
169
+ "preformatted" => "1",
170
+ "submit" => "1"
171
+ }
172
+ else
173
+ {
174
+ "group_id" => group_id,
175
+ "release_id" => release_id,
176
+ "package_id" => package_id,
177
+ "step2" => "1",
178
+ "type_id" => type,
179
+ "processor_id" => "8000", # Any
180
+ "submit" => "Add This File"
181
+ }
182
+ end
183
+
184
+ query = "?" + query_hash.map do |(name, value)|
185
+ [name, URI.encode(value)].join("=")
186
+ end.join("&")
187
+
188
+ data = [
189
+ "--" + boundary,
190
+ "Content-Disposition: form-data; name=\"userfile\"; filename=\"#{basename}\"",
191
+ "Content-Type: application/octet-stream",
192
+ "Content-Transfer-Encoding: binary",
193
+ "", file_data, ""
194
+ ].join("\x0D\x0A")
195
+
196
+ release_headers = headers.merge(
197
+ "Content-Type" => "multipart/form-data; boundary=#{boundary}"
198
+ )
199
+
200
+ target = first_file ? "/frs/admin/qrs.php" : "/frs/admin/editrelease.php"
201
+ http.post(target + query, data, release_headers)
202
+ end
203
+
204
+ if first_file then
205
+ release_id = release_response.body[/release_id=(\d+)/, 1]
206
+ raise("Couldn't get release id") unless release_id
207
+ end
208
+
209
+ first_file = false
210
+ end
211
+ end
212
+ end
data/lib/rcss.rb CHANGED
@@ -4,7 +4,7 @@ require 'rubygems'
4
4
 
5
5
  module Rcss #:nodoc:
6
6
 
7
- VERSION = "0.3.0"
7
+ VERSION = "0.3.1"
8
8
 
9
9
  # Implements CSS-SSC in Ruby.
10
10
  #
metadata CHANGED
@@ -1,69 +1,66 @@
1
- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: rcss
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.3.0
7
- date: 2005-10-18 00:00:00 +02:00
8
- summary: Rcss - CSS Server-side Constants for Ruby/Rails
6
+ version: 0.3.1
7
+ date: 2005-10-24 00:00:00 +02:00
8
+ summary: "Rcss - CSS Server-side Constants for Ruby/Rails"
9
9
  require_paths:
10
- - lib
10
+ - lib
11
11
  email: bragi.ragnarson@gmail.com
12
12
  homepage: http://rcss.rubyforge.org
13
13
  rubyforge_project: rcss
14
- description: No more search-and-replace in CSS files. Use your familiar ERB syntax (the same you use in rhtml files) to deliver constants to CSS files. You can even extract values for constants from database using ActiveRecord. * Familiar ERB syntax * Extend your classes with multiple attributes with ease
14
+ description:
15
15
  autorequire: rcss
16
16
  default_executable:
17
17
  bindir: bin
18
18
  has_rdoc: true
19
19
  required_ruby_version: !ruby/object:Gem::Version::Requirement
20
20
  requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
21
+ -
22
+ - ">"
23
+ - !ruby/object:Gem::Version
24
+ version: 0.0.0
24
25
  version:
25
26
  platform: ruby
26
27
  signing_key:
27
28
  cert_chain:
28
29
  authors:
29
- - Bragi Ragnarson
30
+ - Bragi Ragnarson
30
31
  files:
31
- - README
32
- - CHANGES
33
- - TODO
34
- - MIT-LICENSE
35
- - Rakefile
36
- - lib/rcss.rb
37
- - bin/rcss
38
- - test/data
39
- - test/data/ssc-simple.in.rcss
40
- - test/data/ssc-complex.in.rcss
41
- - test/data/ssc-simple.out.css
42
- - test/data/ssc-complex.out.css
43
- - test/data/erb.in.rcss
44
- - test/data/erb.out.css
45
- - test/data/extend.in.rcss
46
- - test/data/extend.out.css
47
- - test/data/simple.in.rcss
48
- - test/data/simple.out.css
32
+ - README
33
+ - CHANGES
34
+ - TODO
35
+ - MIT-LICENSE
36
+ - Rakefile
37
+ - lib/rcss.rb
38
+ - bin/rcss
39
+ - test/data
40
+ - test/data/ssc-simple.in.rcss
41
+ - test/data/ssc-complex.in.rcss
42
+ - test/data/ssc-simple.out.css
43
+ - test/data/ssc-complex.out.css
44
+ - test/data/erb.in.rcss
45
+ - test/data/erb.out.css
46
+ - test/data/extend.in.rcss
47
+ - test/data/extend.out.css
48
+ - test/data/simple.in.rcss
49
+ - test/data/simple.out.css
49
50
  test_files: []
50
-
51
51
  rdoc_options:
52
- - --title
53
- - Rcss - CSS Server-side Constants for Ruby/Rails
54
- - --main
55
- - README
56
- - --line-numbers
52
+ - "--title"
53
+ - "Rcss - CSS Server-side Constants for Ruby/Rails"
54
+ - "--main"
55
+ - README
56
+ - "--line-numbers"
57
57
  extra_rdoc_files:
58
- - README
59
- - MIT-LICENSE
60
- - TODO
61
- - CHANGES
58
+ - README
59
+ - MIT-LICENSE
60
+ - TODO
61
+ - CHANGES
62
62
  executables:
63
- - rcss
63
+ - rcss
64
64
  extensions: []
65
-
66
65
  requirements: []
67
-
68
- dependencies: []
69
-
66
+ dependencies: []