ansible-ruby 1.0.20 → 1.0.21

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
  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