ansible-ruby 1.0.20 → 1.0.21

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
  SHA1:
3
- metadata.gz: ec5c2359bb0d0cba6b5ea5b285b38903320d2104
4
- data.tar.gz: 928c1754d57d98e2b83c84a121e8f39a6336e9ea
3
+ metadata.gz: 3b8d4d50fd86ff3d309f18ea9a519714705623c1
4
+ data.tar.gz: 3a035582035f9d93a31a739855dcc5b15897b44c
5
5
  SHA512:
6
- metadata.gz: ed95edfdc371508d36e424d636bb65b8e51e2d21853ddd4f1bef2d72289859cc9af032a5659b1a6c67c7517e36dfd647a1d71b4843a0d961a02f8437e4149d8b
7
- data.tar.gz: 7a1dc5c6bc3fd8902504aaad23b1776f987642f5fc5e3fe6e9e3f3cd1be65084e8cbc3edc8e594bf95d807b1401d29de259ac9566965ab93e6ff5b0deaf78732
6
+ metadata.gz: c96f87a906a6e513b1eb778c78a0c9e93b828fe077e7ae1672dc360ed2f23ddc27de4bd3c46443dbfcc4ed2839b1b1e1e6daa463d7088113a9da3fc2b2deb96a
7
+ data.tar.gz: a71a4c4af7a182b73a4a3ace80154da2c207477e1eb51da6582b04a6fa1650768358db286e34cd056b89cd8818371e8f989bc37c93d111e0c8c26277cbd3d0ba
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'ansible/ruby/models/jinja_expression'
4
+
3
5
  module Ansible
4
6
  module Ruby
5
7
  module DslBuilders
@@ -17,7 +19,7 @@ module Ansible
17
19
  end
18
20
 
19
21
  def jinja(text)
20
- "{{ #{text} }}"
22
+ Ansible::Ruby::Models::JinjaExpression.new(text)
21
23
  end
22
24
 
23
25
  # For the DSL, don't want to defer to regular method_missing
@@ -89,6 +89,8 @@ module Ansible
89
89
  value.map { |val| val.respond_to?(:to_h) ? val.to_h : val }
90
90
  when Base
91
91
  value.to_h
92
+ when Ansible::Ruby::Models::JinjaExpression
93
+ value.to_s
92
94
  else
93
95
  value
94
96
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ansible/ruby/models/base'
4
+ require 'ansible/ruby/models/tasks'
5
+
6
+ module Ansible
7
+ module Ruby
8
+ module Models
9
+ class JinjaExpression
10
+ attr_reader :expression
11
+
12
+ def initialize(expression)
13
+ @expression = expression
14
+ end
15
+
16
+ def to_s
17
+ "{{ #{@expression} }}"
18
+ end
19
+
20
+ def ===(other_node)
21
+ other_node.is_a?(JinjaExpression) && expression == other_node.expression
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -7,6 +7,9 @@ class TypeValidator < ActiveModel::EachValidator
7
7
  # Don't worry about this case, different validator
8
8
  return if value.is_a? NilClass
9
9
 
10
+ # We won't know until runtime what the type is
11
+ return if value.is_a? Ansible::Ruby::Models::JinjaExpression
12
+
10
13
  failed = perform_validation(attribute, value)
11
14
  return unless failed
12
15
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ansible
4
4
  module Ruby
5
- VERSION = '1.0.20'
5
+ VERSION = '1.0.21'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ansible-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.20
4
+ version: 1.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brady Wied
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-28 00:00:00.000000000 Z
11
+ date: 2019-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -61,6 +61,7 @@ files:
61
61
  - lib/ansible/ruby/models/block.rb
62
62
  - lib/ansible/ruby/models/handler.rb
63
63
  - lib/ansible/ruby/models/inclusion.rb
64
+ - lib/ansible/ruby/models/jinja_expression.rb
64
65
  - lib/ansible/ruby/models/multiple_types.rb
65
66
  - lib/ansible/ruby/models/play.rb
66
67
  - lib/ansible/ruby/models/playbook.rb