projectionist-projects 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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 8a868c2957b55f05de3bef7d628bb4b8f3136443
4
+ data.tar.gz: bcc8875894c4bdff41daf7e5ecf38abd72c91fa1
5
+ SHA512:
6
+ metadata.gz: 6dedf5a8b48e9cc258cea660390ea71fa0e0cb2fd05dde55f5f44658c89eb4efb0889f2a74cf26d10fb2acc4d282d4d6f74ac31f71a63be977f3044959a241e1
7
+ data.tar.gz: dfdbcce0341b4777e79708f8d1bd26569ed4715850d9ac0698dcd7545cdfd11e195f5d28c65850c64be33a0c12ed6122d75ecc71d3644a008694e289d644f2a2
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.5
4
+ before_install: gem install bundler -v 1.10.4
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in projectionist-projects.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1 @@
1
+ # projectionist-projects
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << "test"
6
+ t.libs << "lib"
7
+ t.test_files = FileList['test/**/*_test.rb']
8
+ end
9
+
10
+ task :default => :test
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "projectionist/projects"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
data/exe/projection ADDED
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ gem "highline"
4
+
5
+ require "highline/import"
6
+ require "pathname"
7
+ require "fileutils"
8
+ require "optparse"
9
+
10
+ include FileUtils
11
+
12
+ terminal_width, _ = HighLine::SystemExtensions.terminal_size
13
+ projections_path = File.expand_path("../../projections", __FILE__)
14
+ available_files = Dir["#{projections_path}/*.projections.json"]
15
+ @names_to_files = Hash[available_files.map do |filename|
16
+ name = Pathname.new(filename).basename(".projections.json").to_s
17
+ [name, filename]
18
+ end]
19
+
20
+ def copy_projection(name, source, destination = "#{getwd}/.projections.json")
21
+ colored_name = HighLine::String.new(name).color(:red)
22
+ unless source
23
+ puts "#{colored_name} projection was not found. Use `projection -l` to show available projection files."
24
+ exit -1
25
+ end
26
+
27
+ cp source, destination
28
+ puts "Projection #{colored_name} was copied to the current directory."
29
+ end
30
+
31
+ if ARGV.count > 0
32
+ parser = OptionParser.new do |opts|
33
+ opts.banner = "Usage: projection [options]"
34
+
35
+ opts.on("-l", "--list", "List available projection names") do |list|
36
+ @names_to_files.each do |name, path|
37
+ puts name
38
+ end
39
+ exit
40
+ end
41
+
42
+ opts.on("-p", "--path [name]", "Lists out the paths for the matching name") do |value|
43
+ value ||= ""
44
+ filtered = @names_to_files.select { |name| name.downcase.include? value.downcase }
45
+ maximum = filtered.keys.map(&:length).max
46
+ filtered.each do |name, path|
47
+ puts "#{HighLine::String.new(name.ljust(maximum)).color(:bold, :blue)} #{HighLine::String.new("=>").color(:cyan)} #{HighLine::String.new(path).color(:green)}"
48
+ end
49
+ exit
50
+ end
51
+
52
+ opts.on_tail("-h", "--help") do
53
+ puts opts
54
+ exit
55
+ end
56
+
57
+ copy_projection ARGV.first, @names_to_files[ARGV.first]
58
+ end
59
+
60
+ parser.parse!
61
+ else
62
+ choose do |menu|
63
+ menu.prompt = "What type of project? "
64
+ menu.choices(*@names_to_files.keys) { |name| copy_projection name, @names_to_files[name] }
65
+ end
66
+ end
@@ -0,0 +1,5 @@
1
+ module Projectionist
2
+ module Projects
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ require "projectionist/projects/version"
2
+
3
+ module Projectionist
4
+ module Projects
5
+ # Your code goes here...
6
+ end
7
+ end
@@ -0,0 +1,23 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'projectionist/projects/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "projectionist-projects"
8
+ spec.version = Projectionist::Projects::VERSION
9
+ spec.authors = ["Jeremy W. Rowe"]
10
+ spec.email = ["jeremy.w.rowe@gmail.com"]
11
+
12
+ spec.summary = %q{A quick and dirty script for installing projectionist files in the current directory}
13
+ spec.description = %q{Projectionist + vim make it easier to jump between alternate files. Configuration of projectionist is mind numbing, I hope to reduce that by adding projectionist project files over time.}
14
+ spec.homepage = "https://github.com/jeremywrowe/projectionist-projects"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
+ spec.bindir = "exe"
18
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.10"
22
+ spec.add_development_dependency "rake", "~> 10.0"
23
+ end
@@ -0,0 +1,183 @@
1
+ {
2
+ "app/adapters/*.js": {
3
+ "command": "adapter",
4
+ "template": [
5
+ "import ApplicationAdapter from './application';",
6
+ "",
7
+ "export default ApplicationAdapter.extend({",
8
+ "",
9
+ "});"
10
+ ],
11
+ "alternate": "tests/unit/adapters/{}-test.js"
12
+ },
13
+
14
+ "tests/unit/adapters/*-test.js": {
15
+ "command": "adapterTest",
16
+ "template": [
17
+ "import {open} moduleFor, test {close} from 'ember-qunit';",
18
+ "",
19
+ "moduleFor('adapter:{}');",
20
+ "",
21
+ "test('it adapts', function(assert) {",
22
+ " var adapter = this.subject();",
23
+ " assert.ok(adapter);",
24
+ "});"
25
+ ],
26
+ "alternate": "app/adapters/{}.js"
27
+ },
28
+
29
+ "app/components/*.js": {
30
+ "command": "component",
31
+ "template": [
32
+ "import Ember from 'ember';",
33
+ "",
34
+ "export default Ember.Component.extend({",
35
+ "",
36
+ "});"
37
+ ],
38
+ "alternate": "tests/integration/components/{}-test.js"
39
+ },
40
+
41
+ "tests/integration/components/*-test.js": {
42
+ "command": "componentTest",
43
+ "template": [
44
+ "import {open} moduleForComponent, test {close} from 'ember-qunit';",
45
+ "import t from 'htmlbars-inline-precompile';",
46
+ "",
47
+ "moduleForComponent('{}', 'component:{}', {",
48
+ " integration: true",
49
+ "});",
50
+ "",
51
+ "test('it is a dom building block', function(assert) {",
52
+ " this.render(t`{open}{open}{}{close}{close}`);",
53
+ " assert.equal(this.$().text().trim(), 'bob the builder');",
54
+ "});"
55
+ ],
56
+ "alternate": "app/components/{}.js"
57
+ },
58
+
59
+ "app/controllers/*.js": {
60
+ "command": "controller",
61
+ "template": [
62
+ "import Ember from 'ember';",
63
+ "",
64
+ "export default Ember.Controller.extend({",
65
+ "",
66
+ "});"
67
+ ],
68
+ "alternate": "tests/unit/controllers/{}-test.js"
69
+ },
70
+
71
+ "tests/unit/controllers/*-test.js": {
72
+ "command": "controllerTest",
73
+ "template": [
74
+ "import {open} moduleFor, test {close} from 'ember-qunit';",
75
+ "",
76
+ "moduleFor('controller:{}', {open} {close});",
77
+ "",
78
+ "test('it remote controls', function(assert) {",
79
+ " var controller = this.subject();",
80
+ " assert.ok(controller);",
81
+ "});"
82
+ ],
83
+ "alternate": "app/controllers/{}.js"
84
+ },
85
+
86
+ "app/helpers/*.js": {
87
+ "command": "helper",
88
+ "template": [
89
+ "import Ember from 'ember';",
90
+ "",
91
+ "export function {camelcase}(params/*, hash*/) {",
92
+ " return params;",
93
+ "}",
94
+ "",
95
+ "export default Ember.Helper.helper({camelcase});"
96
+ ],
97
+ "alternate": "tests/unit/helpers/{}-test.js"
98
+ },
99
+
100
+ "tests/unit/helpers/*-test.js": {
101
+ "command": "helperTest",
102
+ "template": [
103
+ "import {open} {camelcase} {close} from '../../../helpers/{}';",
104
+ "import {open} module, test {close} from 'qunit';",
105
+ "",
106
+ "module('helper:{}');",
107
+ "",
108
+ "test('aide', function(assert) {",
109
+ " let result = {camelcase}();",
110
+ " assert.equal(result, 'a winner is you');",
111
+ "});"
112
+ ],
113
+ "alternate": "app/helpers/{}.js"
114
+ },
115
+
116
+ "app/models/*.js": {
117
+ "command": "model",
118
+ "template": [
119
+ "import DS from 'ember-data';",
120
+ "export default DS.Model.extend({",
121
+ "",
122
+ "});"
123
+ ],
124
+ "alternate": "tests/unit/models/{}-test.js"
125
+ },
126
+
127
+ "tests/unit/models/*-test.js": {
128
+ "command": "modelTest",
129
+ "template": [
130
+ "import {open} moduleForModel, test {close} from 'ember-qunit';",
131
+ "",
132
+ "moduleForModel('{}', 'model:{}');",
133
+ "",
134
+ "test('fashion show', function(assert) {",
135
+ " let model = this.subject();",
136
+ " // let store = this.store();",
137
+ " assert.equal(model.get('appleBottomJeans'), 'Boots with the fur');",
138
+ "});"
139
+ ],
140
+ "alternate": "app/models/{}.js"
141
+ },
142
+
143
+ "app/router.js": {
144
+ "command": "router"
145
+ },
146
+
147
+ "app/routes/*.js": {
148
+ "command": "route",
149
+ "template": [
150
+ "import Ember from 'ember';",
151
+ "",
152
+ "export default Ember.Route.extend({",
153
+ "",
154
+ "});"
155
+ ],
156
+ "alternate": "tests/unit/routes/{}-test.js"
157
+ },
158
+
159
+ "tests/unit/routes/*-test.js": {
160
+ "command": "routeTest",
161
+ "template": [
162
+ "import {open} moduleFor, test {close} from 'ember-qunit';",
163
+ "",
164
+ "moduleFor('route:{}');",
165
+ "",
166
+ "test('path to success', function(assert) {",
167
+ " let route = this.subject();",
168
+ " route.send('action', 1);",
169
+ " assert.equal(route.get('actionResult'), 1);",
170
+ "});"
171
+ ],
172
+ "alternate": "app/routes/{}.js"
173
+ },
174
+
175
+ "app/templates/*.hbs": {
176
+ "command": "template",
177
+ "alternate": "app/components/{}.js"
178
+ },
179
+
180
+ "app/utils/*.js": {
181
+ "command": "util"
182
+ }
183
+ }
metadata ADDED
@@ -0,0 +1,87 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: projectionist-projects
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Jeremy W. Rowe
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2015-09-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.10'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.10'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description: Projectionist + vim make it easier to jump between alternate files. Configuration
42
+ of projectionist is mind numbing, I hope to reduce that by adding projectionist
43
+ project files over time.
44
+ email:
45
+ - jeremy.w.rowe@gmail.com
46
+ executables:
47
+ - projection
48
+ extensions: []
49
+ extra_rdoc_files: []
50
+ files:
51
+ - ".gitignore"
52
+ - ".travis.yml"
53
+ - Gemfile
54
+ - README.md
55
+ - Rakefile
56
+ - bin/console
57
+ - bin/setup
58
+ - exe/projection
59
+ - lib/projectionist/projects.rb
60
+ - lib/projectionist/projects/version.rb
61
+ - projectionist-projects.gemspec
62
+ - projections/ember.projections.json
63
+ homepage: https://github.com/jeremywrowe/projectionist-projects
64
+ licenses: []
65
+ metadata: {}
66
+ post_install_message:
67
+ rdoc_options: []
68
+ require_paths:
69
+ - lib
70
+ required_ruby_version: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ requirements: []
81
+ rubyforge_project:
82
+ rubygems_version: 2.4.6
83
+ signing_key:
84
+ specification_version: 4
85
+ summary: A quick and dirty script for installing projectionist files in the current
86
+ directory
87
+ test_files: []