cnc 0.1.5 → 0.1.7
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/README.md +4 -0
- data/Rakefile +9 -5
- data/lib/cnc/core_ext/hash.rb +35 -0
- data/lib/cnc/core_ext/module.rb +16 -0
- data/lib/{object.rb → cnc/core_ext/object.rb} +16 -4
- data/lib/cnc/core_ext/symbol.rb +5 -0
- data/lib/cnc/core_ext.rb +5 -0
- data/lib/cnc/migrator.rb +53 -0
- data/lib/cnc/version.rb +1 -1
- data/lib/cnc.rb +9 -2
- data/rubocop.yml +136 -0
- metadata +70 -22
- data/.rubocop.yml +0 -2
- data/app/assets/config/cnc_manifest.js +0 -1
- data/app/assets/stylesheets/cnc/application.css +0 -15
- data/app/controllers/cnc/application_controller.rb +0 -4
- data/app/helpers/cnc/application_helper.rb +0 -4
- data/app/jobs/cnc/application_job.rb +0 -4
- data/app/mailers/cnc/application_mailer.rb +0 -6
- data/app/models/cnc/application_record.rb +0 -5
- data/app/views/layouts/cnc/application.html.erb +0 -15
- data/config/routes.rb +0 -2
- data/lib/cnc/engine.rb +0 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c3be381add3c7cd3bad3f2b21ee24c2a006b1fbd625176cf76ad3333f1f9f8cb
|
|
4
|
+
data.tar.gz: d05f5f8329249b522dea60146d1cc6cfc350a2bc101ceb40d4b1d7f17c369988
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ce0b72c3899ec257fa214dc513c95aff713ecf6513243c2406acf531466ba7986e5e5722939e25cfe29c8f5a466c549dcb41521880a4b5a13722c4ee1564613e
|
|
7
|
+
data.tar.gz: db6223759d5c533d59f7324c23d87e64fec7356a1c7b1f7554330a5105f4b43d6261a0eae7bbdfd6b3fb96f65396d17e9e84e792fa09c5bf1de5e8bacd227d92
|
data/README.md
CHANGED
data/Rakefile
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
require "bundler/gem_tasks"
|
|
4
|
+
require "minitest/test_task"
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Minitest::TestTask.create
|
|
7
7
|
|
|
8
|
-
require "
|
|
8
|
+
require "rubocop/rake_task"
|
|
9
|
+
|
|
10
|
+
RuboCop::RakeTask.new
|
|
11
|
+
|
|
12
|
+
task default: %i[test rubocop]
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class Hash
|
|
4
|
+
# Removes and returns a hash containing the key/value pairs for which the
|
|
5
|
+
# block returns a true value given the key.
|
|
6
|
+
#
|
|
7
|
+
# hash = {:a => 1, "b" => 2, :c => 3}
|
|
8
|
+
# hash.extract_if! { _1.is_a? Symbol } #=> {a: 1, c: 3}
|
|
9
|
+
# hash #=> {"b" => 2 }
|
|
10
|
+
def extract_if!
|
|
11
|
+
each_with_object(self.class.new) do |(key, value), result|
|
|
12
|
+
result[key] = delete(key) if yield(key, value)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Destructively converts all values at the given keys using the given block.
|
|
17
|
+
#
|
|
18
|
+
# hash = {a: 1, b: 2, c: 3}
|
|
19
|
+
# hash.transform!(:c, &:succ)
|
|
20
|
+
# hash #=> {a: 1, b: 2, c: 4}
|
|
21
|
+
#
|
|
22
|
+
def transform!(*keys)
|
|
23
|
+
keys.each do |k|
|
|
24
|
+
self[k] = yield self[k] if key?(k)
|
|
25
|
+
end
|
|
26
|
+
self
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Returns a new hash with all values at the given keys converted using the
|
|
30
|
+
# given block.
|
|
31
|
+
#
|
|
32
|
+
# hash = {a: 1, b: 2, c: 3}
|
|
33
|
+
# hash.transform(:a, :b, &:succ) #=> {a: 2, b: 3, c: 3}
|
|
34
|
+
def transform(...) = dup.transform!(...)
|
|
35
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
class Module
|
|
2
|
+
# Shorthand for `const_set(name.camelize, Class.new(parent) { ... })`.
|
|
3
|
+
# Useful when defining classes in macros.
|
|
4
|
+
def define_class(name, parent = nil, &)
|
|
5
|
+
name = name.to_s.camelize
|
|
6
|
+
raise NameError, "class exists: #{name}" if const_defined?(name, false)
|
|
7
|
+
const_set name, Class.new(parent, &)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# Defines a constant of the given name using the given block if it doesn't
|
|
11
|
+
# already exist.
|
|
12
|
+
def const_cache(name)
|
|
13
|
+
name = name.to_s.gsub('::', ?_)
|
|
14
|
+
const_defined?(name, false) ? const_get(name) : const_set(name, yield(name))
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -1,7 +1,19 @@
|
|
|
1
|
-
Object
|
|
1
|
+
class Object
|
|
2
|
+
def instance_variable_values
|
|
3
|
+
instance_variables.map { instance_variable_get _1 }
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
def system_echo(src)
|
|
7
|
+
puts src
|
|
8
|
+
system(src)
|
|
9
|
+
end
|
|
10
|
+
|
|
2
11
|
def rubymine(file, line = 0)
|
|
3
|
-
|
|
4
|
-
|
|
12
|
+
system_echo("rubymine --line #{line || 0} #{file}")
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def vscode(file, line = 0)
|
|
16
|
+
system_echo("code #{file}:#{line || 0}")
|
|
5
17
|
end
|
|
6
18
|
|
|
7
19
|
def locate_method(name)
|
|
@@ -23,7 +35,7 @@ Object.class_eval do
|
|
|
23
35
|
|
|
24
36
|
# return system("tmux split-window -h \"vim #{file} +#{line}\"") if file
|
|
25
37
|
# return system("$VISUAL --goto #{file}:#{line || 0}") if file
|
|
26
|
-
return
|
|
38
|
+
return vscode(file, line || 0) if file
|
|
27
39
|
|
|
28
40
|
puts 'Source not available. Is this a C extension?'
|
|
29
41
|
end
|
data/lib/cnc/core_ext.rb
ADDED
data/lib/cnc/migrator.rb
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
require "listen"
|
|
2
|
+
|
|
3
|
+
module CNC
|
|
4
|
+
# Usage:
|
|
5
|
+
#
|
|
6
|
+
# CNC::Migrator.listen if Rails.env.development?
|
|
7
|
+
module Migrator
|
|
8
|
+
module_function
|
|
9
|
+
|
|
10
|
+
def logger
|
|
11
|
+
@logger ||= ActiveSupport::TaggedLogging.new(Rails.logger).tagged("CNC::Migrator")
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def log(...) = logger.info(...)
|
|
15
|
+
|
|
16
|
+
def path = Rails.root / "db"
|
|
17
|
+
def only = %r{(migrate/)([a-z]\w+)\.rb$}
|
|
18
|
+
|
|
19
|
+
def fresh_migration(name)
|
|
20
|
+
<<~RUBY
|
|
21
|
+
class #{name.camelize} < ActiveRecord::Migration[#{ActiveRecord::Migration.current_version}]
|
|
22
|
+
def change
|
|
23
|
+
#{yield if block_given?}
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
RUBY
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def process(paths)
|
|
30
|
+
number = Time.now.utc.strftime("%Y%m%d%H%M%S")
|
|
31
|
+
paths.each do |path|
|
|
32
|
+
body = File.read(path)
|
|
33
|
+
new_path = path.sub(only, "\\1#{number}_\\2.rb")
|
|
34
|
+
log "Moving '#{path}' to '#{new_path}'."
|
|
35
|
+
|
|
36
|
+
File.rename(path, new_path)
|
|
37
|
+
File.open(new_path, "w+") do |file|
|
|
38
|
+
file << fresh_migration($2) { body }
|
|
39
|
+
end
|
|
40
|
+
number.succ!
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def listen
|
|
45
|
+
log "Watching for unstamped migration files in #{path}."
|
|
46
|
+
Listen.to(path, only:, relative: true) do |modified, added, removed|
|
|
47
|
+
process(added | modified)
|
|
48
|
+
end.start
|
|
49
|
+
rescue Errno::ENOENT
|
|
50
|
+
log "db/ directory does not exist."
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
data/lib/cnc/version.rb
CHANGED
data/lib/cnc.rb
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
require "zeitwerk"
|
|
2
|
+
require "active_support/all"
|
|
3
|
+
require "cnc/core_ext"
|
|
1
4
|
require "cnc/version"
|
|
2
|
-
require "cnc/engine"
|
|
3
5
|
|
|
4
|
-
|
|
6
|
+
loader = Zeitwerk::Loader.for_gem
|
|
7
|
+
loader.inflector.inflect("cnc" => "CNC")
|
|
8
|
+
loader.ignore("#{__dir__}/cnc/core_ext")
|
|
9
|
+
loader.setup
|
|
10
|
+
|
|
11
|
+
ActiveSupport::Inflector.inflections { _1.acronym "CNC" }
|
|
5
12
|
|
|
6
13
|
module CNC
|
|
7
14
|
end
|
data/rubocop.yml
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
inherit_gem:
|
|
2
|
+
rubocop-rails-omakase: rubocop.yml
|
|
3
|
+
|
|
4
|
+
plugins:
|
|
5
|
+
- rubocop-minitest
|
|
6
|
+
|
|
7
|
+
AllCops:
|
|
8
|
+
# ParserEngine: parser_prism
|
|
9
|
+
TargetRubyVersion: 3.3
|
|
10
|
+
|
|
11
|
+
# wrapped invocations should line up arguments
|
|
12
|
+
Layout/ArgumentAlignment:
|
|
13
|
+
EnforcedStyle: with_first_argument
|
|
14
|
+
|
|
15
|
+
# Ensure the proper ordering of class macros, etc.
|
|
16
|
+
Layout/ClassStructure:
|
|
17
|
+
Enabled: true
|
|
18
|
+
|
|
19
|
+
# `end` should be aligned with the keyword that started the block
|
|
20
|
+
Layout/EndAlignment:
|
|
21
|
+
EnforcedStyleAlignWith: keyword
|
|
22
|
+
|
|
23
|
+
# Line up adjacent assignments
|
|
24
|
+
Layout/ExtraSpacing:
|
|
25
|
+
ForceEqualSignAlignment: true
|
|
26
|
+
|
|
27
|
+
# disabled by rubocop-rails-omakase
|
|
28
|
+
Layout/IndentationConsistency:
|
|
29
|
+
EnforcedStyle: normal
|
|
30
|
+
Enabled: true
|
|
31
|
+
|
|
32
|
+
# disabled by rubocop-rails-omakase
|
|
33
|
+
Layout/IndentationWidth:
|
|
34
|
+
Width: 2
|
|
35
|
+
Enabled: true
|
|
36
|
+
|
|
37
|
+
# No spaces inside array literals: `[1, 2]`. Matches method invocation: `foo(1, 2)`.
|
|
38
|
+
Layout/SpaceInsideArrayLiteralBrackets:
|
|
39
|
+
EnforcedStyle: no_space
|
|
40
|
+
|
|
41
|
+
# `{|x| x }` No need for the first space
|
|
42
|
+
Layout/SpaceInsideBlockBraces:
|
|
43
|
+
SpaceBeforeBlockParameters: false
|
|
44
|
+
|
|
45
|
+
# No spaces inside hash literals: `{a: 1}`. Matches method invocation: `foo(a: 1)`
|
|
46
|
+
Layout/SpaceInsideHashLiteralBraces:
|
|
47
|
+
EnforcedStyle: no_space
|
|
48
|
+
|
|
49
|
+
# `if x = 1` is fine and should be used relatively often
|
|
50
|
+
Lint/AssignmentInCondition:
|
|
51
|
+
Enabled: false
|
|
52
|
+
|
|
53
|
+
Minitest/AssertInDelta: # new in 0.10
|
|
54
|
+
Enabled: true
|
|
55
|
+
Minitest/AssertKindOf: # new in 0.10
|
|
56
|
+
Enabled: true
|
|
57
|
+
Minitest/AssertOperator: # new in 0.32
|
|
58
|
+
Enabled: true
|
|
59
|
+
Minitest/AssertOutput: # new in 0.10
|
|
60
|
+
Enabled: true
|
|
61
|
+
Minitest/AssertPathExists: # new in 0.10
|
|
62
|
+
Enabled: true
|
|
63
|
+
Minitest/AssertPredicate: # new in 0.18
|
|
64
|
+
Enabled: true
|
|
65
|
+
Minitest/AssertRaisesCompoundBody: # new in 0.21
|
|
66
|
+
Enabled: true
|
|
67
|
+
Minitest/AssertRaisesWithRegexpArgument: # new in 0.22
|
|
68
|
+
Enabled: true
|
|
69
|
+
Minitest/AssertSame: # new in 0.26
|
|
70
|
+
Enabled: true
|
|
71
|
+
Minitest/AssertSilent: # new in 0.10
|
|
72
|
+
Enabled: true
|
|
73
|
+
Minitest/AssertWithExpectedArgument: # new in 0.11
|
|
74
|
+
Enabled: true
|
|
75
|
+
Minitest/AssertionInLifecycleHook: # new in 0.10
|
|
76
|
+
Enabled: true
|
|
77
|
+
Minitest/DuplicateTestRun: # new in 0.19
|
|
78
|
+
Enabled: true
|
|
79
|
+
Minitest/EmptyLineBeforeAssertionMethods: # new in 0.23
|
|
80
|
+
Enabled: true
|
|
81
|
+
Minitest/Focus: # new in 0.35
|
|
82
|
+
Enabled: true
|
|
83
|
+
Minitest/LifecycleHooksOrder: # new in 0.28
|
|
84
|
+
Enabled: true
|
|
85
|
+
Minitest/LiteralAsActualArgument: # new in 0.10
|
|
86
|
+
Enabled: true
|
|
87
|
+
Minitest/MultipleAssertions: # new in 0.10
|
|
88
|
+
Enabled: true
|
|
89
|
+
Minitest/NonExecutableTestMethod: # new in 0.34
|
|
90
|
+
Enabled: true
|
|
91
|
+
Minitest/NonPublicTestMethod: # new in 0.27
|
|
92
|
+
Enabled: true
|
|
93
|
+
Minitest/RedundantMessageArgument: # new in 0.34
|
|
94
|
+
Enabled: true
|
|
95
|
+
Minitest/RefuteInDelta: # new in 0.10
|
|
96
|
+
Enabled: true
|
|
97
|
+
Minitest/RefuteKindOf: # new in 0.10
|
|
98
|
+
Enabled: true
|
|
99
|
+
Minitest/RefuteOperator: # new in 0.32
|
|
100
|
+
Enabled: true
|
|
101
|
+
Minitest/RefutePathExists: # new in 0.10
|
|
102
|
+
Enabled: true
|
|
103
|
+
Minitest/RefutePredicate: # new in 0.18
|
|
104
|
+
Enabled: true
|
|
105
|
+
Minitest/RefuteSame: # new in 0.26
|
|
106
|
+
Enabled: true
|
|
107
|
+
Minitest/ReturnInTestMethod: # new in 0.31
|
|
108
|
+
Enabled: true
|
|
109
|
+
Minitest/SkipEnsure: # new in 0.20
|
|
110
|
+
Enabled: true
|
|
111
|
+
Minitest/SkipWithoutReason: # new in 0.24
|
|
112
|
+
Enabled: true
|
|
113
|
+
Minitest/TestFileName:
|
|
114
|
+
Enabled: true # ensure test filenames include "test"
|
|
115
|
+
Minitest/TestMethodName: # new in 0.10
|
|
116
|
+
Enabled: true
|
|
117
|
+
Minitest/UnreachableAssertion: # new in 0.14
|
|
118
|
+
Enabled: true
|
|
119
|
+
Minitest/UnspecifiedException: # new in 0.10
|
|
120
|
+
Enabled: true
|
|
121
|
+
Minitest/UselessAssertion: # new in 0.26
|
|
122
|
+
Enabled: true
|
|
123
|
+
|
|
124
|
+
# Prefer `refute` over `assert_not`. `assert_not_*` are rails-only.
|
|
125
|
+
Rails/RefuteMethods:
|
|
126
|
+
EnforcedStyle: refute
|
|
127
|
+
|
|
128
|
+
# `{x:}` preferred over `x: x` or `:x => x`. Ignored for > ruby-3.3 code.
|
|
129
|
+
Style/HashSyntax:
|
|
130
|
+
EnforcedShorthandSyntax: always
|
|
131
|
+
|
|
132
|
+
# Prefer "x" over 'x' for all files.
|
|
133
|
+
Style/StringLiterals:
|
|
134
|
+
Enabled: true
|
|
135
|
+
EnforcedStyle: double_quotes
|
|
136
|
+
Include: ["*"]
|
metadata
CHANGED
|
@@ -1,15 +1,42 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cnc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jeff Peterson
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: rubocop
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - ">="
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: rubocop-minitest
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '0'
|
|
13
40
|
- !ruby/object:Gem::Dependency
|
|
14
41
|
name: rubocop-rails-omakase
|
|
15
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -25,7 +52,21 @@ dependencies:
|
|
|
25
52
|
- !ruby/object:Gem::Version
|
|
26
53
|
version: '0'
|
|
27
54
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
55
|
+
name: activesupport
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - ">="
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '0'
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - ">="
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '0'
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: listen
|
|
29
70
|
requirement: !ruby/object:Gem::Requirement
|
|
30
71
|
requirements:
|
|
31
72
|
- - ">="
|
|
@@ -52,7 +93,21 @@ dependencies:
|
|
|
52
93
|
- - ">="
|
|
53
94
|
- !ruby/object:Gem::Version
|
|
54
95
|
version: '0'
|
|
55
|
-
|
|
96
|
+
- !ruby/object:Gem::Dependency
|
|
97
|
+
name: zeitwerk
|
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - ">="
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '0'
|
|
103
|
+
type: :runtime
|
|
104
|
+
prerelease: false
|
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - ">="
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '0'
|
|
110
|
+
description: Stop milling about and build ruby apps faster with CNC.
|
|
56
111
|
email:
|
|
57
112
|
- jeff@concept.love
|
|
58
113
|
executables:
|
|
@@ -60,26 +115,21 @@ executables:
|
|
|
60
115
|
extensions: []
|
|
61
116
|
extra_rdoc_files: []
|
|
62
117
|
files:
|
|
63
|
-
- ".rubocop.yml"
|
|
64
118
|
- MIT-LICENSE
|
|
65
119
|
- README.md
|
|
66
120
|
- Rakefile
|
|
67
|
-
- app/assets/config/cnc_manifest.js
|
|
68
|
-
- app/assets/stylesheets/cnc/application.css
|
|
69
|
-
- app/controllers/cnc/application_controller.rb
|
|
70
|
-
- app/helpers/cnc/application_helper.rb
|
|
71
|
-
- app/jobs/cnc/application_job.rb
|
|
72
|
-
- app/mailers/cnc/application_mailer.rb
|
|
73
|
-
- app/models/cnc/application_record.rb
|
|
74
|
-
- app/views/layouts/cnc/application.html.erb
|
|
75
|
-
- config/routes.rb
|
|
76
121
|
- exe/cnc
|
|
77
122
|
- lib/cnc.rb
|
|
78
123
|
- lib/cnc/cli/commands.rb
|
|
79
|
-
- lib/cnc/
|
|
124
|
+
- lib/cnc/core_ext.rb
|
|
125
|
+
- lib/cnc/core_ext/hash.rb
|
|
126
|
+
- lib/cnc/core_ext/module.rb
|
|
127
|
+
- lib/cnc/core_ext/object.rb
|
|
128
|
+
- lib/cnc/core_ext/symbol.rb
|
|
129
|
+
- lib/cnc/migrator.rb
|
|
80
130
|
- lib/cnc/version.rb
|
|
81
|
-
- lib/object.rb
|
|
82
131
|
- lib/tasks/cnc_tasks.rake
|
|
132
|
+
- rubocop.yml
|
|
83
133
|
homepage: https://github.com/craft-concept/cnc
|
|
84
134
|
licenses:
|
|
85
135
|
- MIT
|
|
@@ -87,7 +137,6 @@ metadata:
|
|
|
87
137
|
homepage_uri: https://github.com/craft-concept/cnc
|
|
88
138
|
source_code_uri: https://github.com/craft-concept/cnc
|
|
89
139
|
changelog_uri: https://github.com/craft-concept/cnc
|
|
90
|
-
post_install_message:
|
|
91
140
|
rdoc_options: []
|
|
92
141
|
require_paths:
|
|
93
142
|
- lib
|
|
@@ -95,15 +144,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
95
144
|
requirements:
|
|
96
145
|
- - ">="
|
|
97
146
|
- !ruby/object:Gem::Version
|
|
98
|
-
version: '
|
|
147
|
+
version: '3.3'
|
|
99
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
149
|
requirements:
|
|
101
150
|
- - ">="
|
|
102
151
|
- !ruby/object:Gem::Version
|
|
103
152
|
version: '0'
|
|
104
153
|
requirements: []
|
|
105
|
-
rubygems_version:
|
|
106
|
-
signing_key:
|
|
154
|
+
rubygems_version: 4.0.7
|
|
107
155
|
specification_version: 4
|
|
108
|
-
summary:
|
|
156
|
+
summary: Ruby starter kit.
|
|
109
157
|
test_files: []
|
data/.rubocop.yml
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//= link_directory ../stylesheets/cnc .css
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
|
3
|
-
* listed below.
|
|
4
|
-
*
|
|
5
|
-
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
|
6
|
-
* or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
|
|
7
|
-
*
|
|
8
|
-
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
|
9
|
-
* compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
|
|
10
|
-
* files in this directory. Styles in this file should be added after the last require_* statement.
|
|
11
|
-
* It is generally better to create a new file per style scope.
|
|
12
|
-
*
|
|
13
|
-
*= require_tree .
|
|
14
|
-
*= require_self
|
|
15
|
-
*/
|
data/config/routes.rb
DELETED
data/lib/cnc/engine.rb
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
require "active_support"
|
|
2
|
-
|
|
3
|
-
module CNC
|
|
4
|
-
class Engine < ::Rails::Engine
|
|
5
|
-
isolate_namespace CNC
|
|
6
|
-
config.autoload_paths += paths["lib"].to_a
|
|
7
|
-
|
|
8
|
-
initializer "cnc.inflections" do
|
|
9
|
-
ActiveSupport::Inflector.inflections { _1.acronym "CNC" }
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|