(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_gemname)
          op: Equal
          rhs: {(protected_attributes)}
          spids: [3]
        )
      ]
      spids: [3]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgname)
          op: Equal
          rhs: {(ruby-) (${ VSub_Name _gemname) (4.2)}
          spids: [6]
        )
      ]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.0.9)} spids:[13])]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[16])]
      spids: [16]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Protect attributes from mass assignment for rails 4.2"))}
          spids: [19]
        )
      ]
      spids: [19]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/rails/protected_attributes"))}
          spids: [24]
        )
      ]
      spids: [24]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[29])]
      spids: [29]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[34])]
      spids: [34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends)
          op: Equal
          rhs: {(DQ ("ruby ruby-activemodel4.2"))}
          spids: [39]
        )
      ]
      spids: [39]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(SQ )} spids:[44])]
      spids: [44]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$depends_dev"))}
          spids: [46]
        )
      ]
      spids: [46]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[51])]
      spids: [51]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[55])]
      spids: [55]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("http://gems.rubyforge.org/gems/") ($ VSub_Name "$_gemname") (-) 
                ($ VSub_Name "$pkgver") (.gem)
              )
            }
          spids: [59]
        )
      ]
      spids: [59]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: 
            {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$_realname") (-) ($ VSub_Name "$pkgver")}
          spids: [69]
        )
      ]
      spids: [69]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
          spids: [82]
        )
      spids: [78 81]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_gemdir)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(ruby)} {(-rubygems)} {(-e) (SQ <"puts Gem.default_dir">)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [103 112]
                        )
                      )
                    }
                  spids: [101]
                )
              ]
              spids: [99]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_geminstdir)
                  op: Equal
                  rhs: 
                    {($ VSub_Name "$_gemdir") (/gems/) ($ VSub_Name "$_gemname") (-) 
                      ($ VSub_Name "$pkgver")
                    }
                  spids: [118]
                )
              ]
              spids: [116]
            )
            (AndOr
              children: [
                (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir"))})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(gem)} {(install)} {(--local)} {(--install-dir)} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_gemdir")} {(--ignore-dependencies)} {(--verbose)} {(--no-rdoc)} {(--no-ri)} 
                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$_gemname") (-) 
                    ($ VSub_Name "$pkgver") (.gem)
                  }
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_gemdir") (/cache)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_geminstdir") (/ext)} {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$_geminstdir") (/.require_paths)}
            )
            (C {(cd)} {(DQ ($ VSub_Name "$pkgdir"))})
            (ForEach
              iter_name: i
              iter_words: [{(usr/lib/ruby/gems/) (Lit_Other "*") (/bin/) (Lit_Other "*")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-e)} {(DQ ($ VSub_Name "$i"))} {(Lit_Other "]")})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin)})
                            (C {(ln)} {(-s)} {(/) ($ VSub_Name "$i")} 
                              {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/)}
                            )
                          ]
                          spids: [-1 251]
                        )
                      ]
                      spids: [-1 277]
                    )
                  ]
                  spids: [235 280]
                )
              spids: [228 233]
            )
          ]
          spids: [96]
        )
      spids: [92 95]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: {(DQ ("6e0b5577d2d5a7cc23275dc9cc212152  protected_attributes-1.0.9.gem"))}
          spids: [285]
        )
      ]
      spids: [285]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"d35a1c8664a47bd83ae3e47b1cebdba5c678a2f9f3d20196f80fa5aed29abd14  protected_attributes-1.0.9.gem"
                )
              )
            }
          spids: [290]
        )
      ]
      spids: [290]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"5317d8c7ebc70e3b3f465e82d0e1c6565815d5f2a9fa58269dec7e1b7d97a5b6ca02b69c5141ee2b38db6bd8c8482dc7258efff1822829c58c60390559f91f65  protected_attributes-1.0.9.gem"
                )
              )
            }
          spids: [295]
        )
      ]
      spids: [295]
    )
  ]
)