railsbuilder 0.1.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.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data/lib/railsbuilder.rb +91 -0
- data.tar.gz.sig +0 -0
- metadata +95 -0
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 0c6a33a0a354b43ceab08297355bde21fc365925
|
|
4
|
+
data.tar.gz: 6c513bb65eca3e8847748b467a544c7285ad28ae
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: a65a78db65efc5d58f9ba253841b37c5539afbcbe716c71e6b18096af042c47c6522b07f30d97d36f47610245cefccce0a417e2c3403919921b3d6a8251923bc
|
|
7
|
+
data.tar.gz: 7a634beda2d9e7ae152d96b83257cd44a992a6658de5d910ed5717e1216cbc75f8b5f101ca0e4ae681660d450acab11dc5492fa163e31d0180365ac4fc8a2bc8
|
checksums.yaml.gz.sig
ADDED
|
Binary file
|
data/lib/railsbuilder.rb
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
# file: railsbuilder.rb
|
|
4
|
+
|
|
5
|
+
require 'fileutils'
|
|
6
|
+
require 'io/console'
|
|
7
|
+
require 'lineparser'
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class RailsBuilder
|
|
11
|
+
|
|
12
|
+
def initialize(filepath=nil)
|
|
13
|
+
|
|
14
|
+
buffer = File.read filepath if filepath
|
|
15
|
+
|
|
16
|
+
patterns = [
|
|
17
|
+
[:root, 'app: :app', :app],
|
|
18
|
+
[:root, 'resources: :resources', :resources],
|
|
19
|
+
[:root, ':resource', :resource],
|
|
20
|
+
[:resource, 'model', :model],
|
|
21
|
+
[:model, ':class_name', :model_class],
|
|
22
|
+
[:all, /#/]
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
@h = parse(patterns, buffer)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def build()
|
|
29
|
+
|
|
30
|
+
cols = @h[:root].select {|x| x[1].has_key? ':app' }
|
|
31
|
+
@app = cols[0][1][':app']
|
|
32
|
+
|
|
33
|
+
unless File.exists? @app then
|
|
34
|
+
command = 'rails new ' + @app
|
|
35
|
+
puts ":: preparing to execute shell command: `#{command}`"
|
|
36
|
+
puts 'Are you sure you want to build a new app? (Y/n)'
|
|
37
|
+
r = $stdin.getch
|
|
38
|
+
|
|
39
|
+
if r[/y|\r/i] then
|
|
40
|
+
IO.popen(command).each_line {|x| print "", x}
|
|
41
|
+
else
|
|
42
|
+
puts 'Abort'
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
@h
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def save()
|
|
49
|
+
File.write "#{@app}.cfg", @config
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
private
|
|
53
|
+
|
|
54
|
+
def parse(patterns, s=nil)
|
|
55
|
+
|
|
56
|
+
if s.nil? then
|
|
57
|
+
|
|
58
|
+
# is there a directory called site1?
|
|
59
|
+
|
|
60
|
+
dir = 'site1'
|
|
61
|
+
|
|
62
|
+
while File.exists? dir do
|
|
63
|
+
i = dir.slice!(/\d+$/).to_i; dir += (i+=1).to_s
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
s =<<EOF
|
|
68
|
+
#
|
|
69
|
+
# railsbuilder configuration file
|
|
70
|
+
#
|
|
71
|
+
app: #{dir}
|
|
72
|
+
|
|
73
|
+
# resources: posts
|
|
74
|
+
EOF
|
|
75
|
+
end
|
|
76
|
+
@config = s
|
|
77
|
+
a = LineParser.new(patterns).parse s
|
|
78
|
+
a.group_by(&:first)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
=begin
|
|
84
|
+
|
|
85
|
+
# basic example
|
|
86
|
+
|
|
87
|
+
rb = RailsBuilder.new
|
|
88
|
+
r = rb.build
|
|
89
|
+
rb.save
|
|
90
|
+
|
|
91
|
+
=end
|
data.tar.gz.sig
ADDED
|
Binary file
|
metadata
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: railsbuilder
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- James Robertson
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain:
|
|
11
|
+
- |
|
|
12
|
+
-----BEGIN CERTIFICATE-----
|
|
13
|
+
MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
|
|
14
|
+
YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
|
|
15
|
+
8ixkARkWAmV1MB4XDTE0MDMwOTIxMDcwMFoXDTE1MDMwOTIxMDcwMFowSDESMBAG
|
|
16
|
+
A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
|
|
17
|
+
EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
|
18
|
+
ggEBAMhEv1KfLSF8oAjs6AfAh7Mycbt4kjMKPAYFLlQWyCrN1eFPQJEftqM4bJeY
|
|
19
|
+
HxoMhHJUPU3CM0JXXe/rVw3SWrNQeclli2jwOIYvdlEyIj0styctMMmMOE4MCMJk
|
|
20
|
+
//C2ZKB+tfN4+PvM5aYh076zp/0nnZrqLDKYuqKi0ymAaTEvaxbbi08A9OK+bBDz
|
|
21
|
+
nhsOeaOxb3BVVK6s+WjoJi6aeyhZta/uPQ0hmQSuClbSLrJWUkEI2u68UvJX9Lh+
|
|
22
|
+
hY7rEIOuSvnxG6TXOGeXWYDd8dZ4ZQTP5eE0ewieEXCbZm3JNt4zX94vXxnEydv4
|
|
23
|
+
q7ecLQPESY+gfXKm8IJDjBQHhb0CAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
|
|
24
|
+
DwQEAwIEsDAdBgNVHQ4EFgQUS3H611aOQ4MXksEN8dyPFeFAFsUwJgYDVR0RBB8w
|
|
25
|
+
HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
|
|
26
|
+
c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAEgkiAR6Q
|
|
27
|
+
TREhihguYpDtbZ73U7n3Lyb3W6O7JbkKso32E5e9Y4kpYDyXfqaZWtqsim0tFVKr
|
|
28
|
+
s7cY5xCCb2KJuq9trdL/YE8pS6FBYRwGRJRtSXIztJa307ucLsbEg7yZosOYHVPa
|
|
29
|
+
9ORUL7Iglk+myld0LJPkJyjBcqFPpybyUsIovQCwsN8BBtGxjQo41nP2+3Tx46yF
|
|
30
|
+
CsyTkuMlSA8Os5No6RCS1GZTPwp3F4j2qZcS/YAsStir8dfqV0qXPfjxmsg8SNwM
|
|
31
|
+
bNcCWso1cJhifoTCytPAyf9YVuyU4HjqC3eqx3p00NCg0VoELwMEkyhkpvYOGz2l
|
|
32
|
+
NSkTRB6yCN+xzQ==
|
|
33
|
+
-----END CERTIFICATE-----
|
|
34
|
+
date: 2014-03-09 00:00:00.000000000 Z
|
|
35
|
+
dependencies:
|
|
36
|
+
- !ruby/object:Gem::Dependency
|
|
37
|
+
name: rails
|
|
38
|
+
requirement: !ruby/object:Gem::Requirement
|
|
39
|
+
requirements:
|
|
40
|
+
- - ">="
|
|
41
|
+
- !ruby/object:Gem::Version
|
|
42
|
+
version: '0'
|
|
43
|
+
type: :runtime
|
|
44
|
+
prerelease: false
|
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
46
|
+
requirements:
|
|
47
|
+
- - ">="
|
|
48
|
+
- !ruby/object:Gem::Version
|
|
49
|
+
version: '0'
|
|
50
|
+
- !ruby/object:Gem::Dependency
|
|
51
|
+
name: lineparser
|
|
52
|
+
requirement: !ruby/object:Gem::Requirement
|
|
53
|
+
requirements:
|
|
54
|
+
- - ">="
|
|
55
|
+
- !ruby/object:Gem::Version
|
|
56
|
+
version: '0'
|
|
57
|
+
type: :runtime
|
|
58
|
+
prerelease: false
|
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
60
|
+
requirements:
|
|
61
|
+
- - ">="
|
|
62
|
+
- !ruby/object:Gem::Version
|
|
63
|
+
version: '0'
|
|
64
|
+
description:
|
|
65
|
+
email: james@r0bertson.co.uk
|
|
66
|
+
executables: []
|
|
67
|
+
extensions: []
|
|
68
|
+
extra_rdoc_files: []
|
|
69
|
+
files:
|
|
70
|
+
- lib/railsbuilder.rb
|
|
71
|
+
homepage: https://github.com/jrobertson/railsbuilder
|
|
72
|
+
licenses:
|
|
73
|
+
- MIT
|
|
74
|
+
metadata: {}
|
|
75
|
+
post_install_message:
|
|
76
|
+
rdoc_options: []
|
|
77
|
+
require_paths:
|
|
78
|
+
- lib
|
|
79
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
80
|
+
requirements:
|
|
81
|
+
- - ">="
|
|
82
|
+
- !ruby/object:Gem::Version
|
|
83
|
+
version: '0'
|
|
84
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - ">="
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '0'
|
|
89
|
+
requirements: []
|
|
90
|
+
rubyforge_project:
|
|
91
|
+
rubygems_version: 2.0.14
|
|
92
|
+
signing_key:
|
|
93
|
+
specification_version: 4
|
|
94
|
+
summary: Builds a Rails app from a configuration file.
|
|
95
|
+
test_files: []
|
metadata.gz.sig
ADDED
|
Binary file
|