rom-files 0.2.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.
Files changed (122) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +9 -0
  3. data/.gitignore +11 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +112 -0
  6. data/.rubocop_todo.yml +7 -0
  7. data/.ruby-version +1 -0
  8. data/.simplecov +6 -0
  9. data/.travis.yml +24 -0
  10. data/.yardopts +6 -0
  11. data/CHANGELOG.md +10 -0
  12. data/Gemfile +25 -0
  13. data/Guardfile +48 -0
  14. data/LICENSE.md +21 -0
  15. data/README.md +44 -0
  16. data/Rakefile +37 -0
  17. data/Roadmap.taskpaper +44 -0
  18. data/bin/_guard-core +21 -0
  19. data/bin/console +7 -0
  20. data/bin/guard +21 -0
  21. data/bin/rake +21 -0
  22. data/bin/rspec +21 -0
  23. data/bin/yard +21 -0
  24. data/bin/yardoc +21 -0
  25. data/bin/yri +21 -0
  26. data/lib/dry/types/pathname.rb +25 -0
  27. data/lib/pathname/extensions.rb +32 -0
  28. data/lib/pathname/extensions/constants.rb +12 -0
  29. data/lib/pathname/extensions/explode.rb +27 -0
  30. data/lib/pathname/extensions/ext.rb +28 -0
  31. data/lib/pathname/extensions/partial.rb +30 -0
  32. data/lib/pathname/extensions/pathmap.rb +128 -0
  33. data/lib/rom-files.rb +3 -0
  34. data/lib/rom/files.rb +28 -0
  35. data/lib/rom/files/associations.rb +6 -0
  36. data/lib/rom/files/associations/many_to_many.rb +12 -0
  37. data/lib/rom/files/associations/many_to_one.rb +12 -0
  38. data/lib/rom/files/associations/one_to_many.rb +12 -0
  39. data/lib/rom/files/associations/one_to_one.rb +12 -0
  40. data/lib/rom/files/attribute.rb +21 -0
  41. data/lib/rom/files/commands/create.rb +18 -0
  42. data/lib/rom/files/commands/delete.rb +17 -0
  43. data/lib/rom/files/commands/update.rb +17 -0
  44. data/lib/rom/files/connection.rb +120 -0
  45. data/lib/rom/files/constants.rb +16 -0
  46. data/lib/rom/files/dataset.rb +89 -0
  47. data/lib/rom/files/dataset/filtering.rb +96 -0
  48. data/lib/rom/files/dataset/mime_type.rb +44 -0
  49. data/lib/rom/files/dataset/paths.rb +79 -0
  50. data/lib/rom/files/dataset/sorting.rb +27 -0
  51. data/lib/rom/files/extensions.rb +30 -0
  52. data/lib/rom/files/extensions/gem.rb +29 -0
  53. data/lib/rom/files/extensions/gem/relations/documentations.rb +18 -0
  54. data/lib/rom/files/extensions/gem/relations/executables.rb +20 -0
  55. data/lib/rom/files/extensions/gem/relations/implementations.rb +29 -0
  56. data/lib/rom/files/extensions/gem/relations/specifications.rb +29 -0
  57. data/lib/rom/files/extensions/markdown/attributes_inferrer.rb +20 -0
  58. data/lib/rom/files/extensions/markdown/types.rb +18 -0
  59. data/lib/rom/files/extensions/markup/attributes_inferrer.rb +32 -0
  60. data/lib/rom/files/extensions/ruby/attributes_inferrer.rb +21 -0
  61. data/lib/rom/files/extensions/ruby/types.rb +45 -0
  62. data/lib/rom/files/extensions/text/attributes_inferrer.rb +20 -0
  63. data/lib/rom/files/gateway.rb +63 -0
  64. data/lib/rom/files/plugins/configuration/gem.rb +30 -0
  65. data/lib/rom/files/plugins/relation/instrumentation.rb +28 -0
  66. data/lib/rom/files/plugins/schema/contents.rb +72 -0
  67. data/lib/rom/files/plugins/schema/mime.rb +59 -0
  68. data/lib/rom/files/plugins/schema/shebang.rb +79 -0
  69. data/lib/rom/files/plugins/schema/stat.rb +108 -0
  70. data/lib/rom/files/relation.rb +143 -0
  71. data/lib/rom/files/schema.rb +77 -0
  72. data/lib/rom/files/schema/attributes_inferrer.rb +79 -0
  73. data/lib/rom/files/schema/inferrer.rb +36 -0
  74. data/lib/rom/files/types.rb +37 -0
  75. data/lib/rom/files/version.rb +7 -0
  76. data/rom-files.gemspec +48 -0
  77. data/spec/integration/rom/files/gateway_spec.rb +28 -0
  78. data/spec/integration/rom/files/gem_spec.rb +98 -0
  79. data/spec/integration/rom/files/relations_spec.rb +63 -0
  80. data/spec/integration/rom/files/schema/inferrer_spec.rb +77 -0
  81. data/spec/lib/dry/types/pathname_spec.rb +50 -0
  82. data/spec/lib/pathname/extensions/explode_spec.rb +25 -0
  83. data/spec/lib/pathname/extensions/ext_spec.rb +33 -0
  84. data/spec/lib/pathname/extensions/partial_spec.rb +17 -0
  85. data/spec/lib/pathname/extensions/pathmap_spec.rb +147 -0
  86. data/spec/lib/rom/files/attribute_spec.rb +43 -0
  87. data/spec/lib/rom/files/connection_spec.rb +76 -0
  88. data/spec/lib/rom/files/dataset/inside_spec.rb +22 -0
  89. data/spec/lib/rom/files/dataset/mime_type_spec.rb +23 -0
  90. data/spec/lib/rom/files/dataset/recursive_question_mark_spec.rb +42 -0
  91. data/spec/lib/rom/files/dataset/recursive_spec.rb +29 -0
  92. data/spec/lib/rom/files/dataset/reject_append_spec.rb +68 -0
  93. data/spec/lib/rom/files/dataset/reject_spec.rb +26 -0
  94. data/spec/lib/rom/files/dataset/select_append_spec.rb +69 -0
  95. data/spec/lib/rom/files/dataset/select_spec.rb +38 -0
  96. data/spec/lib/rom/files/dataset/sort_spec.rb +22 -0
  97. data/spec/lib/rom/files/dataset_spec.rb +52 -0
  98. data/spec/lib/rom/files/extensions/text/attributes_inferrer_spec.rb +54 -0
  99. data/spec/lib/rom/files/gateway_spec.rb +39 -0
  100. data/spec/lib/rom/files/plugins/schema/contents_spec.rb +66 -0
  101. data/spec/lib/rom/files/plugins/schema/mime_spec.rb +66 -0
  102. data/spec/lib/rom/files/plugins/schema/stat_spec.rb +109 -0
  103. data/spec/lib/rom/files/relation/pluck_spec.rb +20 -0
  104. data/spec/lib/rom/files/relation/reject_spec.rb +22 -0
  105. data/spec/lib/rom/files/relation/select_spec.rb +35 -0
  106. data/spec/lib/rom/files/relation/sort_spec.rb +21 -0
  107. data/spec/lib/rom/files/relation/to_a_spec.rb +39 -0
  108. data/spec/lib/rom/files/relation_spec.rb +10 -0
  109. data/spec/lib/rom/files/schema/attributes_inferrer_spec.rb +45 -0
  110. data/spec/lib/rom/files/schema/inferrer_spec.rb +29 -0
  111. data/spec/lib/rom/files/schema_spec.rb +109 -0
  112. data/spec/lib/rom/files/types/mime_type_spec.rb +9 -0
  113. data/spec/lib/rom/files/types/path_spec.rb +10 -0
  114. data/spec/lib/rom/files/types_spec.rb +6 -0
  115. data/spec/shared/rom/files/files_setup.rb +19 -0
  116. data/spec/shared/rom/files/filesystem_setup.rb +10 -0
  117. data/spec/shared/rom/files/gateway_setup.rb +17 -0
  118. data/spec/shared/rom/files/media_dataset.rb +10 -0
  119. data/spec/shared/rom/files/media_files.rb +17 -0
  120. data/spec/shared/rom/files/media_relation.rb +30 -0
  121. data/spec/spec_helper.rb +10 -0
  122. metadata +421 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: eba4415db48d67a665075918810e5b264f7b384a0e4ea012f60ef2df6fa949e8
4
+ data.tar.gz: 66a5bb3e56021072805392375f994da8099f4de7a93b3c7172d629aa4a44920c
5
+ SHA512:
6
+ metadata.gz: cb33c5db321b7a14680c7b38fc683045184202986c11d988ea2a3c08984d6022330db71d7cb3fa7f02978615c462c7a245a1c89ad06d6217262da99be2d1a22f
7
+ data.tar.gz: 5f0bda1bf6ea5aa843a09e73a448a7625bf0a196068cc6162e0973a8f72d4c3d8bd5518c8b3424e037dae6ab5d4d6f8bd428a9fb830cf31776c1fc537b1398a1
@@ -0,0 +1,9 @@
1
+ [*]
2
+ charset=utf-8
3
+ end_of_line=lf
4
+ insert_final_newline=true
5
+ indent_style=space
6
+ indent_size=2
7
+
8
+ [*.taskpaper]
9
+ indent_style=tab
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ /.idea/
11
+ *.gem
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --order random
3
+ --require spec_helper
@@ -0,0 +1,112 @@
1
+ # Exclude temporary files
2
+ AllCops:
3
+ TargetRubyVersion: 2.4
4
+ DefaultFormatter: fuubar
5
+ DisplayCopNames: true
6
+ ExtraDetails: true
7
+ Exclude:
8
+ - tmp/**/*
9
+ - bin/*
10
+
11
+ # The enforced style doesn’t match Vim’s defaults
12
+ Layout/AlignParameters:
13
+ Enabled: false
14
+
15
+ # Need to be skipped for >-> usage
16
+ Layout/SpaceAroundOperators:
17
+ Enabled: false
18
+
19
+ # It’s quite readable when we know what we are doing
20
+ Lint/AssignmentInCondition:
21
+ Enabled: false
22
+
23
+ Lint/Debugger:
24
+ Exclude:
25
+ - examples/*
26
+
27
+ # No need to handle LoadError in Rakefile
28
+ Lint/HandleExceptions:
29
+ Exclude:
30
+ - Rakefile
31
+
32
+ Metrics/AbcSize:
33
+ Exclude:
34
+ - lib/pathname/extensions/pathmap.rb
35
+ - lib/rom/files/attribute.rb
36
+
37
+ Metrics/BlockLength:
38
+ Exclude:
39
+ - Guardfile
40
+ - lib/pathname/extensions/pathmap.rb
41
+ - rom-files.gemspec
42
+ - spec/**/*_spec.rb
43
+
44
+ Metrics/CyclomaticComplexity:
45
+ Exclude:
46
+ - lib/pathname/extensions/pathmap.rb
47
+
48
+ Metrics/LineLength:
49
+ Max: 256
50
+
51
+ Metrics/MethodLength:
52
+ Exclude:
53
+ - lib/pathname/extensions/pathmap.rb
54
+ - lib/rom/files/connection.rb
55
+
56
+ Naming/FileName:
57
+ Exclude:
58
+ - '**/rom-files*'
59
+
60
+ Naming/MethodName:
61
+ Exclude:
62
+ - lib/**/types.rb
63
+ - lib/dry/types/pathname.rb
64
+
65
+ # UTF-8 is perfectly fine in comments
66
+ Style/AsciiComments:
67
+ Enabled: false
68
+
69
+ # Allow using braces for value-returning blocks
70
+ Style/BlockDelimiters:
71
+ Enabled: false
72
+
73
+ # Documentation checked by Inch CI
74
+ Style/Documentation:
75
+ Enabled: false
76
+
77
+ Style/FormatStringToken:
78
+ Exclude:
79
+ - lib/pathname/extensions/pathmap.rb
80
+ - lib/rom/files/extensions/gem/relations/*.rb
81
+ - spec/lib/pathname/extensions/pathmap_spec.rb
82
+
83
+ # Early returns have their vices
84
+ Style/GuardClause:
85
+ Enabled: false
86
+
87
+ # Need to be skipped for >-> usage
88
+ Style/Lambda:
89
+ Enabled: false
90
+
91
+ # Use compact calls with braces
92
+ Style/LambdaCall:
93
+ EnforcedStyle: braces
94
+
95
+ # Multiline block chains are ok
96
+ Style/MultilineBlockChain:
97
+ Enabled: false
98
+
99
+ # Don’t introduce semantic fail/raise distinction
100
+ Style/SignalException:
101
+ EnforcedStyle: only_raise
102
+
103
+ # Accept both single and double quotes
104
+ Style/StringLiterals:
105
+ Enabled: false
106
+
107
+ # Allow def self.foo; @foo; end
108
+ Style/TrivialAccessors:
109
+ Enabled: false
110
+
111
+ # Generated by `rubocop --auto-gen-config`
112
+ inherit_from: .rubocop_todo.yml
@@ -0,0 +1,7 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2017-11-28 03:15:26 +0300 using RuboCop version 0.51.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
@@ -0,0 +1 @@
1
+ 2.4.2
@@ -0,0 +1,6 @@
1
+ SimpleCov.start do
2
+ add_filter '/bin/'
3
+ add_filter '/spec/'
4
+ add_group('Missing') { |src| src.covered_percent < 100 }
5
+ add_group('Covered') { |src| src.covered_percent == 100 }
6
+ end
@@ -0,0 +1,24 @@
1
+ language: ruby
2
+ sudo: false
3
+ cache: bundler
4
+ bundler_args: --without yard guard benchmarks tools
5
+ script: "bin/rake ci"
6
+ rvm:
7
+ - 2.0
8
+ - 2.1
9
+ - 2.2
10
+ - 2.3
11
+ - 2.4
12
+ - rbx-2
13
+ - jruby-9000
14
+ - jruby-head
15
+ - ruby-head
16
+ env:
17
+ global:
18
+ - CODECLIMATE_REPO_TOKEN=d284024edac5ef6b2f4b7d4a85505d192433ea269824c54592876999f0efce47
19
+ - JRUBY_OPTS='--dev -J-Xmx1024M'
20
+ matrix:
21
+ allow_failures:
22
+ - rvm: jruby-9000
23
+ - rvm: ruby-head
24
+ - rvm: jruby-head
@@ -0,0 +1,6 @@
1
+ --plugin junk
2
+ --title 'rom-files'
3
+ --markup markdown
4
+ --readme README.md
5
+ --files *.md
6
+ lib/**/*.rb
@@ -0,0 +1,10 @@
1
+ # The Changelog
2
+
3
+ ## v0.2.0 - _Unreleased_
4
+
5
+ * Updated to ROM 4.0
6
+ * Renamed to `rom-files`
7
+
8
+ ## v0.1.0 - _2016-02-06_
9
+
10
+ First release. Allows to retrieve file data from relations (directories).
data/Gemfile ADDED
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+ git_source :github do |repo|
5
+ "https://github.com/#{repo}"
6
+ end
7
+
8
+ gemspec
9
+
10
+ gem 'rom', '~> 4.1', github: 'rom-rb/rom', branch: :master
11
+ gem 'rom-sql', '~> 2.2', github: 'rom-rb/rom-sql', branch: :master
12
+
13
+ group :development do
14
+ gem 'tty-file'
15
+ gem 'tty-tree'
16
+ end
17
+
18
+ group :ide do
19
+ gem 'guard'
20
+ gem 'guard-bundler'
21
+ gem 'guard-rspec'
22
+ gem 'guard-rubocop'
23
+ gem 'guard-shell'
24
+ gem 'terminal-notifier-guard'
25
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ notification :terminal_notifier if `uname`.match?(/Darwin/)
4
+ notification :tmux, display_message: true if ENV.key?('TMUX')
5
+
6
+ guard :bundler do
7
+ require 'guard/bundler'
8
+ require 'guard/bundler/verify'
9
+ helper = Guard::Bundler::Verify.new
10
+
11
+ files = ['Gemfile']
12
+ files += Dir['*.gemspec'] if files.any? { |f| helper.uses_gemspec?(f) }
13
+
14
+ # Assume files are symlinked from somewhere
15
+ files.each { |file| watch(helper.real_path(file)) }
16
+ end
17
+
18
+ group :red_green_refactor, halt_on_fail: true do
19
+ guard :rspec, cmd: 'bin/rspec', all_on_start: true, all_after_pass: true do
20
+ require 'guard/rspec/dsl'
21
+ dsl = Guard::RSpec::Dsl.new(self)
22
+
23
+ rspec = dsl.rspec
24
+ watch('.rspec') { rspec.spec_dir }
25
+ watch('Gemfile.lock') { rspec.spec_dir }
26
+ watch(rspec.spec_helper) { rspec.spec_dir }
27
+ watch(rspec.spec_support) { rspec.spec_dir }
28
+ watch(%r{\A#{rspec.spec_dir}/(?:shared)/.+\.rb\Z}) { rspec.spec_dir }
29
+ watch(rspec.spec_files)
30
+
31
+ # Ruby files
32
+ ruby = dsl.ruby
33
+ dsl.watch_spec_files_for(ruby.lib_files)
34
+ end
35
+
36
+ guard :rubocop, cli: '--auto-correct' do
37
+ watch(%r{\Alib/.+\.rb\Z})
38
+ watch(%r{\Aspec/.+\.rb\Z})
39
+ watch(/\.rubocop.*\.yml/) { '.' }
40
+ end
41
+
42
+ guard :shell do
43
+ command = 'bin/yard doc --use-cache'
44
+ watch(%r{\Alib/.+\.rb\Z}) { |m| `#{command} #{m}` }
45
+ watch(/\A.+\.md\Z/) { |m| `#{command} #{m}` }
46
+ watch('.yardopts') { `#{command}` }
47
+ end
48
+ end
@@ -0,0 +1,21 @@
1
+ # The MIT License (MIT)
2
+
3
+ © 2017 Alex Semyonov, Héctor Ramón
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,44 @@
1
+ [gem]: https://rubygems.org/gems/rom-files
2
+ [travis]: https://travis-ci.org/alsemyonov/rom-files
3
+ [gemnasium]: https://gemnasium.com/alsemyonov/rom-files
4
+ [codeclimate]: https://codeclimate.com/github/alsemyonov/rom-files
5
+ [inchpages]: http://inch-ci.org/github/alsemyonov/rom-files
6
+
7
+ # ROM::Files
8
+
9
+ [![Gem Version](https://badge.fury.io/rb/rom-files.svg)][gem]
10
+ [![Build Status](https://travis-ci.org/alsemyonov/rom-files.svg?branch=master)][travis]
11
+ [![Dependency Status](https://gemnasium.com/alsemyonov/rom-files.png)][gemnasium]
12
+ [![Code Climate](https://codeclimate.com/github/alsemyonov/rom-files/badges/gpa.svg)][codeclimate]
13
+ [![Test Coverage](https://codeclimate.com/github/alsemyonov/rom-files/badges/coverage.svg)][codeclimate]
14
+ [![Inline docs](http://inch-ci.org/github/alsemyonov/rom-files.svg?branch=master)][inchpages]
15
+
16
+ Files adapter for [Ruby Object Mapper](https://github.com/rom-rb/rom).
17
+
18
+ ## Installation
19
+
20
+ Add this line to your application's Gemfile:
21
+
22
+ ```ruby
23
+ gem 'rom-files'
24
+ ```
25
+
26
+ And then execute:
27
+
28
+ ```bash
29
+ bundle
30
+ ```
31
+
32
+ Or install it yourself as:
33
+
34
+ ```bash
35
+ gem install rom-files
36
+ ```
37
+
38
+ ## Changelog
39
+
40
+ See {file:CHANGELOG.md}.
41
+
42
+ ## License
43
+
44
+ See {file:LICENSE.md}.
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/setup'
4
+ require 'bundler/gem_tasks'
5
+
6
+ require 'rspec/core/rake_task'
7
+ RSpec::Core::RakeTask.new :spec
8
+
9
+ require 'rubocop/rake_task'
10
+ RuboCop::RakeTask.new :style do |task|
11
+ task.options << '--display-cop-names'
12
+ end
13
+
14
+ namespace :doc do
15
+ require 'yard'
16
+ require 'yard/rake/yardoc_task'
17
+ YARD::Rake::YardocTask.new :default
18
+
19
+ require 'yard-junk'
20
+ desc 'Check the junk in your YARD Documentation'
21
+ task :junk do
22
+ exit_code = YardJunk::Janitor.new.run.report(:text)
23
+ exit exit_code unless exit_code.zero?
24
+ end
25
+
26
+ desc 'Check documentation with `yardcheck`'
27
+ task :check do
28
+ sh 'yardcheck --require rom-files --include lib --namespace ROM::Files --rspec spec'
29
+ end
30
+ end
31
+
32
+ task doc: %i[doc:default]
33
+
34
+ desc 'Run CI tasks'
35
+ task ci: %i[spec style doc doc:junk doc:check]
36
+
37
+ task default: :ci
@@ -0,0 +1,44 @@
1
+ rom-files:
2
+ ROM adapter for `file://` scheme
3
+ Goal: Universal ROM adapter for hierarchical tree-like (POSIX-compatible) filesystems
4
+ Connection:
5
+ - support file:// @done(2017-11-28)
6
+ - support dropbox://
7
+ - support webdav://
8
+ Dataset:
9
+ - provide interface comparable with Rake::FileList:
10
+ - remove Dataset#path @done(2017-11-28)
11
+ - add Dataset#data including selected tuples
12
+ - add Dataset#pending meaning #data should be rebuilt
13
+ - make #data-based datasets @done(2017-11-28)
14
+ - make datasets with MIME-type filtering @done(2017-11-28)
15
+ - make datasets with glob patterns filtering @done(2017-11-28)
16
+ - Implement Dataset#at(path)
17
+ - Implement Dataset#patterns @done(2017-11-28)
18
+ - Implement Dataset#paths @done(2017-11-28)
19
+ - Implement Dataset#to_tree
20
+ See `tty-tree` gem
21
+ Schema:
22
+ - Provide dynamic attributes based on pathname @done(2017-11-24)
23
+ - Provide Foreign Keys shortcuts @done(2017-11-24)
24
+ - Provide dynamic attributes based on contents
25
+ - Provide `#has_one` association support (`library_files` has one `spec_file` in gem setup)
26
+ - Provide `#has_many` association support (`year` has many `months` in middleman-like setup)
27
+ - Provide `:frontmatter` schema plugin
28
+ - Provide `:markdown` extension with `text/markdown` mime-type support @done(2017-11-23)
29
+ - Provide `:ruby` extension with `application/x-ruby` mime-type support @done(2017-11-24)
30
+ - Provide `:yaml` extension with `text/x-yaml` MIME-type support
31
+ - Provide `:csv` extension with `text/csv` MIME-type support
32
+ Configuration:
33
+ - Provide `:gem` extension with gem relations
34
+ - Provide `:xdg` extension for user directories layout support
35
+ - Provide `:ruby_generator` extension support
36
+ - Provide command for generating ruby class with RSpec test
37
+ - Provide `:dry_web` extension command for generating dry-web
38
+ Backlog:
39
+ - Provide `:website` extension for setting up middleman-like website
40
+ - Provide `:blog` extension for setting up blog
41
+ - Provide `:src` extension for unbroken pipeline
42
+ Archive:
43
+ - Provide the way to use file stat properties in schema @done(2017-11-20) @project(rom-files)
44
+ - Add dynamic attributes, based on file path or other properties @done(2017-11-20) @project(rom-files)
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application '_guard-core' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
12
+ load(bundle_binstub) if File.file?(bundle_binstub)
13
+
14
+ require "pathname"
15
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
16
+ Pathname.new(__FILE__).realpath)
17
+
18
+ require "rubygems"
19
+ require "bundler/setup"
20
+
21
+ load Gem.bin_path("guard", "_guard-core")