jets 1.9.27 → 1.9.28

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f782d51972045530bd5b8809bad83512a0135babb2fbd41b866884919b8f1951
4
- data.tar.gz: fd8d3c8b52261dfa486998499600d5ccc378e0f85b27992638b3d6f16f460ac7
3
+ metadata.gz: 56af9d1af06caefd6d27aee0d4f3bf53fb4b3365a3612bf6bb7b70c841e12ff5
4
+ data.tar.gz: 6d64131cf5a0e9606a7698c846d9eb6110558f8a869ed09e1b0fda4dc192ecbb
5
5
  SHA512:
6
- metadata.gz: e2e87778b4460a6791f9754eb37af56bc7161191f8caf627eda6fcfb73c7150d9aec1a97426633f4c40e73a25ff8fa38137f9e601a8d2222c579c403caa6a035
7
- data.tar.gz: 975f65f87aa922542371f7fcda07789266348e4dd5f110a932b7f27d0bcfdd332525ad2cb94761a29e00a6d4ac6326ec32cfd6874568c492681b261ae51116bf
6
+ metadata.gz: 253a2700d3e187c657fbf0c3fbfbdaac1a592dc2d9b851873f4bc33652ffbe23f5bfab3479ca44ffd45b65265532b2ba3dd22b24e2f98b17f7048aeaa7bd945c
7
+ data.tar.gz: 2267b30bdb7c481c4f91fa482dac924f5820b567ad8540942b54a2948288426f3bf23f83bf3714d20f8ffbeef8a231533f81293ed1c720b27c53b7c3f2ffd2f8
data/CHANGELOG.md CHANGED
@@ -3,6 +3,9 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/).
5
5
 
6
+ ## [1.9.28]
7
+ - #302 improve jets call guesser, do a simple detection at the start
8
+
6
9
  ## [1.9.27]
7
10
  - sync stdout by default
8
11
 
@@ -1,6 +1,10 @@
1
1
  class Jets::Commands::Call
2
2
  class AutoloadGuesser < BaseGuesser
3
3
  def detect_class_name
4
+ # First guess the class name assuming simple
5
+ class_name = simple_detect_class_name
6
+ return class_name if class_name
7
+
4
8
  guess_classes.each do |class_name_guess|
5
9
  begin
6
10
  class_name_guess.constantize
@@ -20,6 +24,26 @@ class Jets::Commands::Call
20
24
  nil
21
25
  end
22
26
 
27
+ # Can guess name by looking at underscore and dashes.
28
+ #
29
+ # Example:
30
+ #
31
+ # @provided_function_name: first_module-lost_controller-index
32
+ # return: FirstModule::LostController
33
+ #
34
+ def simple_detect_class_name
35
+ parts = @provided_function_name.split('-')
36
+ namespace = parts[0..-3].join('/')
37
+ controller = parts[-2..-2] # dont include the action
38
+ class_name = [namespace, controller].reject {|s| s.empty?}.compact.join('/').camelize
39
+ begin
40
+ class_name.constantize
41
+ return class_name
42
+ rescue NameError
43
+ nil
44
+ end
45
+ end
46
+
23
47
  def method_name
24
48
  return @method_name if defined?(@method_name)
25
49
  return nil unless class_name
data/lib/jets/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jets
2
- VERSION = "1.9.27"
2
+ VERSION = "1.9.28"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jets
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.27
4
+ version: 1.9.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-06 00:00:00.000000000 Z
11
+ date: 2019-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionmailer