camping 3.0.0 → 3.0.2
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 +4 -4
- data/lib/camping/commands.rb +25 -7
- data/lib/camping/gear/nancy.rb +0 -1
- data/lib/camping/version.rb +1 -1
- data/test/app_generator.rb +43 -0
- metadata +3 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6aa52530d539466610a0ae7b505a72176f38b2ba12975f776447dcfb4e6d6934
|
4
|
+
data.tar.gz: 31c521e39db07c10472bff1d6e56bec41b55052bf0e40b3a8165e1266873815b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 200a6af8d4e245e7bf1fac8bb5965ec9ec2a049fc2b3965b9129e5fcc296f251de7ec5fd83656bde13dac6e2869692f52dd5d707e5718e84a498da1f742f7d07
|
7
|
+
data.tar.gz: b80af113694c5303ab1c955876dd6e6e0eb78d0324fa2b4d16f9361b8c8114e0af1cfdffd6761d452a22a3ee5c8febc679078ed50978a2d8a1385806d6da208b
|
data/lib/camping/commands.rb
CHANGED
@@ -11,6 +11,25 @@ module Camping
|
|
11
11
|
downcase
|
12
12
|
end
|
13
13
|
|
14
|
+
# transform app_name to camel Case
|
15
|
+
def self.to_camel_case(string)
|
16
|
+
cammelled = ""
|
17
|
+
to_snake_case(string).split("_").each do |seq|
|
18
|
+
cammelled << seq.capitalize
|
19
|
+
end
|
20
|
+
cammelled
|
21
|
+
end
|
22
|
+
|
23
|
+
# Helper method that generates an app name from command line input.
|
24
|
+
def self.app_name_from_input(app_name)
|
25
|
+
app_name = :Camp if app_name == nil
|
26
|
+
app_name = app_name.to_sym if app_name.class == String
|
27
|
+
snake_app_name = to_snake_case(app_name)
|
28
|
+
camel_app_name = to_camel_case(snake_app_name)
|
29
|
+
|
30
|
+
{app_name: camel_app_name.to_sym, snake_name: snake_app_name, camel_name: camel_app_name}
|
31
|
+
end
|
32
|
+
|
14
33
|
RouteCollection = Struct.new(:routes)
|
15
34
|
class RouteCollection
|
16
35
|
# Displays formatted routes from a route collection
|
@@ -174,7 +193,7 @@ module #{app_name}
|
|
174
193
|
end
|
175
194
|
|
176
195
|
def index
|
177
|
-
h2
|
196
|
+
h2 "Let's go Camping"
|
178
197
|
end
|
179
198
|
|
180
199
|
end
|
@@ -350,18 +369,17 @@ RUBY
|
|
350
369
|
end
|
351
370
|
|
352
371
|
def self.new_cmd(app_name=:Camp)
|
353
|
-
app_name = :Camp if app_name == nil
|
354
|
-
app_name = app_name.to_sym if app_name.class == String
|
355
372
|
|
356
|
-
|
373
|
+
# Normalize the app_name
|
374
|
+
Camping::CommandsHelpers.app_name_from_input(app_name) => {app_name:, snake_name:, camel_name:}
|
357
375
|
|
358
376
|
# make a directory then move there.
|
359
377
|
# _original_dir = Dir.pwd
|
360
|
-
Dir.mkdir("#{
|
361
|
-
Dir.chdir("#{
|
378
|
+
Dir.mkdir("#{snake_name}") unless Dir.exist?("#{snake_name}")
|
379
|
+
Dir.chdir("#{snake_name}")
|
362
380
|
|
363
381
|
# generate a new camping app in a directory named after it:
|
364
|
-
Generators::make_camp_file(
|
382
|
+
Generators::make_camp_file(camel_name)
|
365
383
|
Generators::make_gitignore()
|
366
384
|
Generators::make_rakefile()
|
367
385
|
Generators::make_ruby_version()
|
data/lib/camping/gear/nancy.rb
CHANGED
data/lib/camping/version.rb
CHANGED
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'camping'
|
3
|
+
require 'camping/commands'
|
4
|
+
|
5
|
+
Camping.goes :Generator
|
6
|
+
|
7
|
+
class Generator::Test < TestCase
|
8
|
+
|
9
|
+
def app_name(string)
|
10
|
+
Camping::CommandsHelpers.app_name_from_input string
|
11
|
+
end
|
12
|
+
|
13
|
+
# the app_name_from_input method normalizes the input for the camping new command.
|
14
|
+
# making sure it works right is kinda important.
|
15
|
+
def test_app_name_from_input_method
|
16
|
+
|
17
|
+
# input is expected, a symbol camel cased
|
18
|
+
app_name(:AppApp) => {app_name:, snake_name:, camel_name:}
|
19
|
+
assert_equal :AppApp, app_name, "app_name was unexpected: #{app_name}"
|
20
|
+
assert_equal "app_app", snake_name, "snake_name was unexpected: #{snake_name}"
|
21
|
+
assert_equal "AppApp", camel_name, "camel_name was unexpected: #{camel_name}"
|
22
|
+
|
23
|
+
# input is un expected, a camel cased string
|
24
|
+
app_name("AppApp") => {app_name:, snake_name:, camel_name:}
|
25
|
+
assert_equal :AppApp, app_name, "app_name was unexpected: #{app_name}"
|
26
|
+
assert_equal "app_app", snake_name, "snake_name was unexpected: #{snake_name}"
|
27
|
+
assert_equal "AppApp", camel_name, "camel_name was unexpected: #{camel_name}"
|
28
|
+
|
29
|
+
# input is un unexpected snake cased string
|
30
|
+
app_name("app_app") => {app_name:, snake_name:, camel_name:}
|
31
|
+
assert_equal :AppApp, app_name, "app_name was unexpected: #{app_name}"
|
32
|
+
assert_equal "app_app", snake_name, "snake_name was unexpected: #{snake_name}"
|
33
|
+
assert_equal "AppApp", camel_name, "camel_name was unexpected: #{camel_name}"
|
34
|
+
|
35
|
+
# input is un unexpected snake cased symbol
|
36
|
+
app_name(:app_app) => {app_name:, snake_name:, camel_name:}
|
37
|
+
assert_equal :AppApp, app_name, "app_name was unexpected: #{app_name}"
|
38
|
+
assert_equal "app_app", snake_name, "snake_name was unexpected: #{snake_name}"
|
39
|
+
assert_equal "AppApp", camel_name, "camel_name was unexpected: #{camel_name}"
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: camping
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- why the lucky stiff
|
@@ -104,20 +104,6 @@ dependencies:
|
|
104
104
|
- - ">="
|
105
105
|
- !ruby/object:Gem::Version
|
106
106
|
version: 1.0.3
|
107
|
-
- !ruby/object:Gem::Dependency
|
108
|
-
name: listen
|
109
|
-
requirement: !ruby/object:Gem::Requirement
|
110
|
-
requirements:
|
111
|
-
- - "~>"
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
version: '3.8'
|
114
|
-
type: :runtime
|
115
|
-
prerelease: false
|
116
|
-
version_requirements: !ruby/object:Gem::Requirement
|
117
|
-
requirements:
|
118
|
-
- - "~>"
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version: '3.8'
|
121
107
|
description:
|
122
108
|
email: why@ruby-lang.org
|
123
109
|
executables:
|
@@ -186,6 +172,7 @@ files:
|
|
186
172
|
- test/app_config.rb
|
187
173
|
- test/app_cookies.rb
|
188
174
|
- test/app_file.rb
|
175
|
+
- test/app_generator.rb
|
189
176
|
- test/app_goes_meta.rb
|
190
177
|
- test/app_helpers.rb
|
191
178
|
- test/app_inception.rb
|
@@ -236,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
236
223
|
- !ruby/object:Gem::Version
|
237
224
|
version: '0'
|
238
225
|
requirements: []
|
239
|
-
rubygems_version: 3.4.
|
226
|
+
rubygems_version: 3.4.12
|
240
227
|
signing_key:
|
241
228
|
specification_version: 4
|
242
229
|
summary: micro mighty websites for anyone
|