ellipses 0.0.2 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 34157f9b5097111044ad7b6dd6ab60ab1bbbc7923f3e1a642b735160631904bd
4
- data.tar.gz: eaffa7b909ca61f31fcb7bde01b5af3b38b341451fe577ca2a4aaf96070f399f
3
+ metadata.gz: eab205b89fc5d9d7a2689c8c707355bb679c4ccc839fe3ffc203426bc2cb028a
4
+ data.tar.gz: 21c692bf1c0d82f12b5aae17ec83f42a73bf1e3fc5291d027c94a24c0bcc6851
5
5
  SHA512:
6
- metadata.gz: 479c72da555ee40d94e9fbcbc7482e966167300e2bec6db40f875e88ee7e055ee5aa7636bb4d976c967e428f6eb23a6346a4df247adabac1fe2f68a80454efac
7
- data.tar.gz: 99379b733d5aade6d3f2cfa1cfe31ff4a3a5e2f93dd1596b1a0ab004d38255b21f1782418ad80c8219fbbee0af72a0e9444cca6298cec9f0fd5543beb674ab47
6
+ metadata.gz: 26cd3ba53d1974044448590015f044262545dc51a631f11952db19bcbea18dd21b8aa90e0b658307f3a17bf11fc39d6c4d1141ea0837324a8abf36a2489db8ae
7
+ data.tar.gz: 843d62d51c2b8916a9f3e416b69b7d51829dd534d35316a3da01889d4be6d52a7b0d9d7a8082c63b5a2b6549d179ea7ac6e975d0fc3342de0b98855f3bb12213
data/BEN/304/260OKU.md CHANGED
@@ -13,7 +13,11 @@ Proje ayrıntıları için [Geliştirme dokümanlarına](.local/BENİOKU.md) gö
13
13
  Kurulum
14
14
  --------
15
15
 
16
- Yayınlanan [Gem paketini](https://github.com/alaturka/ellipses/packages) kurmanız yeterlidir.
16
+ Yayınlanan Gem paketini kurmanız yeterlidir.
17
+
18
+ ```sh
19
+ gem install ellipses
20
+ ```
17
21
 
18
22
  Kullanım
19
23
  --------
data/CHANGELOG.md CHANGED
@@ -3,6 +3,19 @@ Changelog
3
3
 
4
4
  All notable changes to this project will be documented in this file.
5
5
 
6
+ [0.1.0] - 2021-12-25
7
+ --------------------
8
+
9
+ ### Changed
10
+
11
+ - (client) For LFH, use `.local/etc/src.lock` instead of `.local/var/src.lock`
12
+
13
+ ### Fixed
14
+
15
+ - (client) Handle dot paths correctly
16
+
17
+ - (server) Fix error message coming from TOML parser
18
+
6
19
  [0.0.2] - 2021-06-07
7
20
  --------------------
8
21
 
data/ellipses.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
4
 
5
5
  require 'ellipses/version'
6
6
 
7
- Gem::Specification.new do |s| # rubocop:disable Metrics/BlockLength
7
+ Gem::Specification.new do |s|
8
8
  s.name = 'ellipses'
9
9
  s.author = 'Recai Oktaş'
10
10
  s.email = 'roktas@gmail.com'
@@ -27,13 +27,7 @@ Gem::Specification.new do |s| # rubocop:disable Metrics/BlockLength
27
27
  s.add_dependency 'dry-cli'
28
28
  s.add_dependency 'tomlrb'
29
29
 
30
- s.add_development_dependency 'bundler'
31
- s.add_development_dependency 'minitest-focus', '>= 1.2.1'
32
- s.add_development_dependency 'minitest-reporters', '>= 1.4.3'
33
- s.add_development_dependency 'rake'
34
- s.add_development_dependency 'rubocop'
35
- s.add_development_dependency 'rubocop-minitest'
36
- s.add_development_dependency 'rubocop-performance'
37
- s.add_development_dependency 'rubocop-rake'
38
- s.add_development_dependency 'rubygems-tasks'
30
+ s.metadata = {
31
+ 'rubygems_mfa_required' => 'true'
32
+ }
39
33
  end
@@ -3,12 +3,12 @@
3
3
  module Ellipses
4
4
  module Client
5
5
  class Application
6
- attr_reader :config, :repository, :loader
6
+ attr_reader :loader, :paths, :repository
7
7
 
8
- def initialize(loader: nil, repository: nil, **options)
9
- @config = Config.new(**options)
10
- @loader = loader || MetaFile.new
11
- @repository = repository || Repository.new(@loader, @config)
8
+ def initialize(loader: nil, repository: nil, paths: nil)
9
+ @loader = loader || MetaFile.new
10
+ @paths = locate(paths)
11
+ @repository = repository || Repository.new(@loader, @paths)
12
12
  end
13
13
 
14
14
  def init(directory)
@@ -66,9 +66,16 @@ module Ellipses
66
66
  repository.load(loader)
67
67
  end
68
68
 
69
+ def locate(paths)
70
+ environment = %w[ELLIPSES_PATH SRCPATH].find { |env| ENV.key? env }
71
+ paths_from_environment = environment ? ENV[environment].split(':') : []
72
+
73
+ [*(paths || []), loader.directory, *paths_from_environment].compact.uniq.select { |path| File.directory?(path) }
74
+ end
75
+
69
76
  class << self
70
77
  %i[init compile compile! decompile decompile! update].each do |meth|
71
- define_method(meth) { |*args, **options| new(**options).public_send(meth, *args) }
78
+ define_method(meth) { |*args, **kwargs| new(**kwargs).public_send(meth, *args) }
72
79
  end
73
80
  end
74
81
  end
@@ -5,7 +5,7 @@ require 'json'
5
5
  module Ellipses
6
6
  module Client
7
7
  class MetaFile
8
- FILES = %w[.local/var/src.lock src.lock .src.lock].freeze
8
+ FILES = %w[.local/etc/src.lock src.lock .src.lock].freeze
9
9
  EMPTY = "[]\n"
10
10
 
11
11
  def self.create(directory)
@@ -17,11 +17,11 @@ module Ellipses
17
17
 
18
18
  private_constant :File
19
19
 
20
- attr_reader :loader, :config
20
+ attr_reader :loader, :paths
21
21
 
22
- def initialize(loader, config)
22
+ def initialize(loader, paths)
23
23
  @loader = loader
24
- @config = config
24
+ @paths = paths
25
25
  @files = {}
26
26
  @memo = {}
27
27
  end
@@ -36,7 +36,7 @@ module Ellipses
36
36
 
37
37
  def load(loader)
38
38
  Dir.chdir loader.directory do
39
- loader.read.each { |meta| register_internal(meta.source, Source.from_file(meta.source, config, meta.series)) }
39
+ loader.read.each { |meta| register_internal(meta.source, Source.from_file(meta.source, paths, meta.series)) }
40
40
  end
41
41
  end
42
42
 
@@ -64,7 +64,7 @@ module Ellipses
64
64
  return @files[key].tap { |file| file.registered = true }.source
65
65
  end
66
66
 
67
- register_internal(key, Source.from_file(path, config))
67
+ register_internal(key, Source.from_file(path, paths))
68
68
  end
69
69
 
70
70
  def unregister(path)
@@ -60,9 +60,9 @@ module Ellipses
60
60
  end
61
61
 
62
62
  class << self
63
- def from_file(file, config, series = nil)
63
+ def from_file(file, paths, series = nil)
64
64
  lines = File.readlines(Support.file!(file, error: Error)).lazy
65
- new lines, series, Server::Application.new(config.paths)
65
+ new lines, series, Server::Application.new(paths)
66
66
  end
67
67
  end
68
68
  end
@@ -11,7 +11,6 @@ require_relative 'client/source'
11
11
  require_relative 'client/meta'
12
12
  require_relative 'client/meta_file'
13
13
  require_relative 'client/repository'
14
- require_relative 'client/config'
15
14
  require_relative 'client/application'
16
15
 
17
16
  require_relative 'client/commands'
@@ -23,7 +23,11 @@ module Ellipses
23
23
  def read
24
24
  Meta.new Tomlrb.load_file(@file)
25
25
  rescue StandardError => e
26
- raise Error, "Error while loading meta file: #{file}: #{e.message}"
26
+ raise Error, <<~MSG
27
+ Error loading meta file: #{@file}
28
+
29
+ #{e.message.strip}
30
+ MSG
27
31
  end
28
32
 
29
33
  class << self
@@ -11,7 +11,7 @@ module Ellipses
11
11
  .group_by(&:to_s)
12
12
  .values
13
13
  .map { |x| x.length / string.length.to_f }
14
- .reduce(0) { |e, x| e - x * Math.log2(x) }
14
+ .reduce(0) { |e, x| e - (x * Math.log2(x)) }
15
15
  end
16
16
  end
17
17
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ellipses
4
- VERSION = '0.0.2'
4
+ VERSION = '0.1.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ellipses
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recai Oktaş
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-07 00:00:00.000000000 Z
11
+ date: 2021-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-cli
@@ -38,132 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: minitest-focus
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: 1.2.1
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: 1.2.1
69
- - !ruby/object:Gem::Dependency
70
- name: minitest-reporters
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: 1.4.3
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 1.4.3
83
- - !ruby/object:Gem::Dependency
84
- name: rake
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: rubocop
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: rubocop-minitest
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: rubocop-performance
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: rubocop-rake
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: rubygems-tasks
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
41
  description: Ellipses
168
42
  email: roktas@gmail.com
169
43
  executables:
@@ -198,7 +72,6 @@ files:
198
72
  - lib/ellipses/client/commands/select.rb
199
73
  - lib/ellipses/client/commands/substitute.rb
200
74
  - lib/ellipses/client/commands/translate.rb
201
- - lib/ellipses/client/config.rb
202
75
  - lib/ellipses/client/directive.rb
203
76
  - lib/ellipses/client/error.rb
204
77
  - lib/ellipses/client/lines.rb
@@ -239,9 +112,7 @@ homepage: https://alaturka.github.io/ellipses
239
112
  licenses:
240
113
  - GPL-3.0-or-later
241
114
  metadata:
242
- changelog_uri: https://github.com/alaturka/ellipses/blob/master/CHANGELOG.md
243
- source_code_uri: https://github.com/alaturka/ellipses
244
- bug_tracker_uri: https://github.com/alaturka/ellipses/issues
115
+ rubygems_mfa_required: 'true'
245
116
  post_install_message:
246
117
  rdoc_options: []
247
118
  require_paths:
@@ -257,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
257
128
  - !ruby/object:Gem::Version
258
129
  version: '0'
259
130
  requirements: []
260
- rubygems_version: 3.2.17
131
+ rubygems_version: 3.2.26
261
132
  signing_key:
262
133
  specification_version: 4
263
134
  summary: Ellipses
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'forwardable'
4
-
5
- module Ellipses
6
- module Client
7
- class Config
8
- extend Forwardable
9
-
10
- def_delegators :@config, *%i[paths]
11
-
12
- def initialize(**options)
13
- @config = build OpenStruct.new(options.compact)
14
- end
15
-
16
- private
17
-
18
- def default_paths
19
- environment = %w[ELLIPSES_PATH SRCPATH].find { |env| ENV.key? env }
20
- paths = environment ? ENV[environment].split(':') : []
21
-
22
- ['.', *paths]
23
- end
24
-
25
- def build(config)
26
- config.paths = default_paths if !config.paths || config.paths.empty?
27
- config.paths.compact!
28
-
29
- config
30
- end
31
- end
32
- end
33
- end